ฉันจะอัพเดตสูตรด้วย Homebrew ได้อย่างไร


164

ฉันจะอัพเดตสูตรได้อย่างไร

brew updateฉันวิ่ง จากนั้นจึงรันbrew outdatedเอาต์พุต:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

ดังนั้นจึงmongodbล้าสมัย

ฉันจะอัพเกรดได้อย่างไร ฉันเพิ่งถอนการติดตั้งแล้วติดตั้ง

คำตอบ:


242

ฉันคิดว่าวิธีที่ถูกต้องคือ

ชงอัพเกรด mongodb

มันจะอัพเกรดสูตร mongodb หากคุณต้องการอัพเกรดสูตรที่ล้าสมัยทั้งหมดเพียงแค่

ชงอัพเกรด


นี่เป็นวิธีที่ถูกต้องในขณะนี้ --forceวิธีการเดิมจะยังคงทำงานถ้าใช้ผนวก
mxcl

เมื่อฉันเรียกใช้ "brew upgrade <packagename>" มันจริง ๆ แล้วอัพเกรดแพ็คเกจที่ล้าสมัยทั้งหมดโดยใช้เวลาเป็นชั่วโมงแทนที่จะเป็นวินาที นั่นเป็นการออกแบบที่แย่มาก วิธีที่ถูกต้องในการ "เพียงอัพเกรดแพ็คเกจเดียว" คือ "ชงติดตั้ง <packagename>" ซึ่งเป็นการออกแบบที่สับสนอีกครั้ง
xuancong84

58

คุณสามารถอัปเดตแพ็กเกจที่ล้าสมัยทั้งหมดได้ดังนี้:

brew install `brew outdated`

หรือ

brew outdated | xargs brew install

หรือ

brew upgrade

นี่คือจากเว็บไซต์ชง ..

สำหรับการอัพเกรดสูตรเดี่ยว:

brew install formula-name && brew cleanup formula-name

การล้างข้อมูลทำอะไร
ไซต์

3
ฉันคิดว่าตอนนี้สามารถพิมพ์brew upgrade outdatedและข้ามอึที่ซับซ้อนทั้งหมดได้
Warren P

4
หรือเพียงแค่brew upgrade
CharlieMezak

20

คุณจะต้องอัปเดตสูตรท้องถิ่นก่อนโดยดำเนินการ

brew update

จากนั้นอัพเกรดแพ็คเกจโดยทำ

brew upgrade formula-name

ตัวอย่างจะเป็นถ้าฉันต้องการอัพเกรดmongodbฉันจะทำสิ่งนี้โดยสมมติว่าmongodbติดตั้งแล้ว:

brew update && brew upgrade mongodb && brew cleanup mongodb

11

ฉันเพิ่งทำไป

brew install mongodb

และทำตามคำแนะนำที่ส่งออกไปSTDOUTหลังจากเสร็จสิ้นการติดตั้งและดูเหมือนว่าจะทำงานได้ดี ฉันเดาว่ามันใช้ได้เหมือนกันmake installและเขียนทับ (อัพเกรด) การติดตั้งครั้งก่อน


9
Brew ติดตั้ง Mongodb $HOMEBREW_PREFIX/Cellar/mongodb/<version>/ดังนั้นคุณน่าจะติดตั้งทั้งสองเวอร์ชัน จากนั้นจะเชื่อมโยงเวอร์ชันล่าสุดเข้ากับ$HOMEBREW_PREFIX/binฯลฯ การรันbrew cleanup mongodbจะลบเวอร์ชันเก่า
mipadi

2

คุณไม่สามารถใช้การติดตั้งชงเพื่ออัพเกรดสูตรที่ติดตั้ง หากคุณต้องการอัพเกรดสูตรที่ล้าสมัยทั้งหมดคุณสามารถใช้คำสั่งด้านล่าง

brew outdated | xargs brew upgrade

คุณควรอธิบายวิธีแก้ปัญหาของคุณเพื่อเป็นประโยชน์กับผู้ใช้ SO รายอื่น การโพสต์โค้ดอย่างเดียวไม่ใช่วิธีปฏิบัติที่ดีที่สุดที่นี่
Massimiliano Kraus

0

ฉันชอบที่จะอัพเกรดทุกสูตร homebrewและสูตรถัง homebrew

ฉันเพิ่มฟังก์ชันเชลล์ Bourne ให้กับสภาพแวดล้อมของฉันสำหรับอันนี้ (ฉันโหลด. bashrc)

function updatebrew() {
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)
}
  • set -x เพื่อความโปร่งใส: เพื่อให้เทอร์มินัลส่งออกสิ่งที่ Homebrew กำลังทำอยู่ในพื้นหลัง
  • brew update เพื่ออัปเดตสูตรโฮมบรูว์
  • brew cleanup เพื่อลบการเปลี่ยนแปลงที่เหลืออยู่หลังจากการติดตั้ง
  • brew cask upgrade --greedyจะติดตั้งถังทั้งหมด; ทั้งที่มีข้อมูลการกำหนดเวอร์ชันและที่ไม่มี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.