เป็นไปได้หรือไม่และฉันจะรับรายการแพ็คเกจทั้งหมดที่ติดตั้งบน Mac ของฉันโดยใช้ได้Homebrew
อย่างไร ฉันไม่สนใจแพ็คเกจที่ติดตั้งนอก Homebrew
เป็นไปได้หรือไม่และฉันจะรับรายการแพ็คเกจทั้งหมดที่ติดตั้งบน Mac ของฉันโดยใช้ได้Homebrew
อย่างไร ฉันไม่สนใจแพ็คเกจที่ติดตั้งนอก Homebrew
คำตอบ:
brew list
และ brew cask list
การรันbrew list
จะแสดงรายการแพ็คเกจ Homebrew ทั้งหมดที่คุณติดตั้ง
นอกจากนี้brew cask list
จะให้รายการที่ติดตั้งโดยใช้Homebrew ถัง
xargs brew install < list.txt
อย่าลังเลที่จะถามคำถามแยกต่างหากสำหรับรายละเอียดเพิ่มเติมหรือชี้แจง
brew install $(< list.txt )
brew leaves
แสดงให้คุณเห็นแพ็คเกจระดับบนสุดทั้งหมด นั่นคือแพ็คเกจที่ไม่ขึ้นต่อกัน สิ่งนี้น่าสนใจที่สุดหากคุณใช้รายการเพื่อติดตั้งแพ็คเกจใหม่
leaves
จาก
java
ไม่ได้อยู่ในรายการleaves
เพราะมันขึ้นอยู่กับโครงการอื่นแม้ว่าฉันจะติดตั้งด้วยตัวเอง
brew bundle
อาจจะน่าสนใจถ้าคุณถามเพราะคุณต้องการจัดการการติดตั้ง Brew ของคุณ ซึ่งรวมถึงถังซึ่งbrew list
ไม่ได้ มันมีจุดมุ่งหมายที่จะมีการตั้งค่า Homebrew ซ้ำ
# creates Brewfile in the current directory from currently-installed packages
brew bundle dump
# edit Brewfile
# install everything from the Brewfile
brew bundle
คุณสามารถใช้การ--global
ตั้งค่าสถานะเพื่อดำเนินการกับของคุณ~/Brewfile
และ-f
เพื่อบังคับให้เขียนทับไฟล์ที่มีอยู่ของคุณ (สำหรับการติดตั้งสิ่งนี้จะบังคับให้ถอนการติดตั้งแพ็กเกจที่ไม่อยู่ในรายการ)
brew leaves
และละทิ้งแพ็คเกจที่คุณไม่ได้ติดตั้งโดยตรง แต่ได้รับการอ้างอิงเท่านั้น ในอนาคตแพคเกจอาจเปลี่ยนการอ้างอิง แต่คุณจะติดตั้งต่อไปและไม่จำเป็นต้องใช้
bundle
ตอนนี้ไม่รวมการพึ่งพา มีการเปลี่ยนแปลงอื่น ๆ เช่นลักษณะคำพูดและการสั่งซื้อที่ทำให้เข้าใจความแตกต่างได้ยากขึ้น แต่โดยรวมแล้วดูเหมือนว่าอย่างน้อยห้องสมุดบางส่วนจะหายไปจากการBrewfile
ติดตั้ง
brew list
คำสั่งที่ดำเนินการจะแสดงรายการเรียงลำดับตามตัวอักษรที่เรียบง่ายของแพ็คเกจที่ติดตั้งทั้งหมด
อย่างไรก็ตามแพคเกจที่จำเป็นต่างๆ (การอ้างอิง) จะได้รับการติดตั้งโดยอัตโนมัติเมื่อติดตั้งแพคเกจโดยใช้ Homebrew เป็นไปได้ที่จะดูรายการของแพ็กเกจที่ติดตั้งทั้งหมดเป็นแผนผังการพึ่งพาที่จัดรูปแบบไว้อย่างดี หากต้องการดูให้รันคำสั่งต่อไปนี้:
brew deps --tree --installed
ตัวอย่างผลลัพธ์ที่แสดงด้านล่าง:
gdbm
openssl
python
├── gdbm
├── openssl
├── readline
├── sqlite
│ └── readline
└── xz
readline
sqlite
└── readline
xz
แพ็คเกจที่แสดงรายการอิสระ (เช่นgdbm
และopenssl
ในตัวอย่างผลลัพธ์ด้านบน) ไม่มีการขึ้นต่อกัน แพ็คเกจที่แสดงเป็นส่วนหนึ่งของโครงสร้างต้นไม้มีการขึ้นต่อกันของรายการที่ระดับต่ำกว่าทันที (เช่นแพ็คเกจsqlite
ต้องการreadline
ให้ติดตั้งแพ็คเกจ) แพ็กเกจที่แสดงรายการที่โหนดใบไม้ในโครงสร้างแบบต้นไม้ไม่มีการพึ่งพา
การแสดงภาพในโครงสร้างต้นไม้สามารถช่วยในการกำจัดแพ็คเกจที่ไม่จำเป็นได้อย่างง่ายดาย
brew leaves
คำสั่งดังกล่าวข้างต้นจะเป็นประโยชน์ในเรื่องนี้; มันแสดงเฉพาะแพ็คเกจระดับบนสุด
คุณสามารถใช้brew list | grep 'package-name'
หรือหากกำลังมองหาแพคเกจเฉพาะ
brew list 'package-name'
ยังใช้งานได้และให้ข้อมูลเพิ่มเติม
brew install < list.txt
ดูเหมือนจะไม่ทำงาน