ฉันจะบังคับให้ homebrew อัปเดตซอฟต์แวร์ที่ติดตั้งได้อย่างไร


13

ผมได้ติดตั้ง Pianobar brew update pianobarและฉันพยายามที่จะปรับปรุงมันใช้ ฉันพยายามด้วยbrew update pianobar --forceแต่ก็ไม่มีผลอะไรเลย มันบอกว่าฉันมีการเปลี่ยนแปลงในท้องถิ่น แต่ฉันไม่แน่ใจว่าจะบอกให้เขียนทับสิ่งเหล่านี้อย่างไร

From http://github.com/mxcl/homebrew
 * branch            master     -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
    Library/Formula/android-ndk.rb
    Library/Formula/android-sdk.rb
    Library/Formula/center-im.rb
    Library/Formula/putty.rb
    Library/Formula/python.rb
    ... (lines removed) ...
    Library/Formula/upx.rb
    Library/Formula/vimpager.rb
    Library/Homebrew/cmd/doctor.rb
Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
    Library/Formula/tth.rb
Please move or remove them before you can merge.
Updating 45bc7ad..36f4400
Aborting
Error: Failed while executing git pull http://github.com/mxcl/homebrew.git master

2
upgradeฉันคิดว่าคุณต้องใช้ updateสำหรับการอัพเดทสูตร
เฟลิกซ์

คำตอบ:


14

ฉันไม่รู้ว่าทำไมสิ่งนี้เกิดขึ้นกับ Homebrew เมื่อคุณไม่ทำอะไรเลยเพื่อยุ่งกับมัน แต่นี่คือวิธีที่ฉันแก้ไข:

  1. เปลี่ยนเป็นไดเร็กทอรี Homebrew Cellar ของคุณ cd `brew --cellar`
  2. รีเซ็ตที่เก็บ git git reset --hard HEAD
  3. อัพเกรด pianobar ในที่สุด! brew upgrade pianobar

FYI brew updateจะอัปเดต Homebrew เป็นเวอร์ชันล่าสุดดังนั้นคุณอาจต้องการดำเนินการก่อนขั้นตอนที่ 3


ทำข้อ 1-3 และได้ผลตามที่คาดหวังขอบคุณ! แต่เมื่อฉันลอง pianobar แล้วมันก็บอกว่าLogin... Error: Protocol incompatible. Please upgrade libpiano.- มีความคิดอะไรบ้าง? เมื่อฉันพยายามbrew updateฉันได้รับข้อผิดพลาด: ไฟล์แผนผังการทำงานที่ไม่ได้ติดตามต่อไปนี้จะถูกเขียนทับโดยการรวม: Library / Formula / tth.rb ข้อผิดพลาด: ล้มเหลวขณะดำเนินการ git pull github.com/mxcl/homebrew.git master - ขออภัยฉันยังใหม่กับ homebrew และฉันไม่แน่ใจจริงๆว่าฉันกำลังทำอะไรอยู่
cwd

1
อ๊ะคอมไพล์คุณทำให้ชีวิตสนุกมาก! อย่าcd `brew --prefix`นั้นแล้วลองgit clean -f brew updateสำหรับปัญหา Pianobar ฉันจะลองbrew upgrade libpianoต่อไป แต่ฉันไม่ได้ใช้มันฉันก็ไม่แน่ใจ
swrobel

ที่ได้ผลขอบคุณมากสำหรับความช่วยเหลือ! เห็นได้ชัดว่าเวอร์ชันของ libpiano ที่ออกใหม่ยังไม่ใหม่พอเนื่องจากฉันยังคงได้รับข้อผิดพลาดแม้ว่าจะบอกว่าทุกอย่างเป็นปัจจุบัน
cwd

ดีใจที่ได้ช่วยเหลือ ฉันเพิ่งติดตั้ง pianobar และใช้งานได้สำหรับฉัน ฉันรู้ว่า Pandora ได้อัปเดตโปรโตคอลของพวกเขาเมื่อเร็ว ๆ นี้ แต่ดูเหมือนว่ารุ่น Pianobar ของ Homebrew เป็นรุ่นล่าสุด ของฉันคือ2011.09.22คุณเป็นอะไร มันควรแสดงในบรรทัดแรกหลังจากที่คุณเรียกใช้ pianobar
swrobel

2

ในฐานะที่เป็น @Felix กล่าวว่าใช้ไม่ได้upgradeupdate

หากปัญหามาจากต้นไม้ git ที่สกปรกของคุณและคุณเพียงแค่ต้องการลืมเกี่ยวกับการดัดแปลงของคุณให้พิมพ์git reset --hard HEADก่อนที่จะอัปเกรด


ไม่มีอะไรเกิดขึ้นเมื่อฉันพยายามที่ ... brew upgrade pianobar -vให้ Kernel.exit
CWD

ทำในสิ่งที่คุณได้รับเมื่อคุณเรียกใช้type -a brew?
Robert S Ciaccio

ชงคือ / usr / local / bin / brew
cwd

0

นี่เป็นคำตอบทั่วไปไม่ใช่เฉพาะpianobarปัญหาของคุณ

หากต้องการอัปเดตซอฟต์แวร์ที่ติดตั้งไว้ให้อัปเดต Brew ก่อน brew update

แล้วอัปเกรดซอฟต์แวร์ที่ติดตั้ง: brew upgrade

หากต้องการป้องกันไม่ให้อัปเกรดซอฟต์แวร์ให้ทำ brew pin YOUR-PACKAGE-HERE

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.