Làm cách nào để buộc homebrew cập nhật phần mềm đã cài đặt?


13

Tôi đã cài đặt pianobar và tôi đang cố gắng cập nhật nó bằng cách sử dụng brew update pianobar. Tôi cũng đã thử brew update pianobar --forcenhưng điều đó không có tác dụng. Nó nói rằng tôi có những thay đổi cục bộ, nhưng tôi không biết làm thế nào để bảo nó chỉ ghi đè lên những thay đổi này.

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
Tôi nghĩ bạn phải sử dụng upgrade. updatelà để cập nhật các công thức.
Felix

Câu trả lời:


14

Tôi không biết tại sao điều này xảy ra với Homebrew khi bạn không làm gì để gây rối với nó, nhưng đây là cách tôi khắc phục nó:

  1. Thay đổi thư mục hầm Homebrew của bạn cd `brew --cellar`
  2. Đặt lại kho git git reset --hard HEAD
  3. Nâng cấp đàn piano, cuối cùng! brew upgrade pianobar

FYI, brew updatesẽ cập nhật Homebrew lên phiên bản mới nhất, vì vậy bạn có thể muốn làm điều đó trước bước 3.


đã làm 1-3 và nó hoạt động như mong đợi, cảm ơn! Nhưng sau đó khi tôi thử và chạy pianobar, nó nói Login... Error: Protocol incompatible. Please upgrade libpiano.- bạn có suy nghĩ gì không? Ngoài ra khi tôi thử brew updatetôi gặp lỗi: Các tệp cây làm việc không được theo dõi sau đây sẽ bị ghi đè bằng cách hợp nhất: Library / Formula / tth.rb. Lỗi: Thất bại trong khi thực hiện git pull github.com/mxcl/homebrew.git master - xin lỗi tôi mới sử dụng homebrew và thực sự không chắc chắn những gì tôi đang làm.
cwd

1
Ah, git, bạn làm cho cuộc sống rất vui vẻ!. Đừng cd `brew --prefix`rồi git clean -fsau đó thử brew update. Đối với vấn đề Pianobar, tôi sẽ thử brew upgrade libpianotiếp theo, nhưng tôi không sử dụng nó, vì vậy tôi không chắc chắn.
swrobel

đã làm việc, cảm ơn rất nhiều vì tất cả sự giúp đỡ! rõ ràng phiên bản libpiano đã ra mắt vẫn chưa đủ mới mặc dù tôi vẫn nhận được lỗi mặc dù nó cho biết mọi thứ đã được cập nhật.
cwd

Vui mừng được giúp đỡ. Tôi chỉ cần cài đặt pianobar và nó hoạt động cho tôi. Tôi biết Pandora đã cập nhật giao thức của họ gần đây, nhưng có vẻ như phiên bản Pianobar của Homebrew đã được cập nhật. Của tôi là 2011.09.22của bạn? Nó sẽ hiển thị trên dòng đầu tiên sau khi bạn chạy pianobar.
swrobel

2

Như @Felix đã nói, sử dụng upgradekhông update.

Nếu vấn đề xuất phát từ cây git bẩn của bạn và bạn chỉ muốn quên đi những sửa đổi của mình, hãy gõ git reset --hard HEADtrước khi nâng cấp.


không có gì xảy ra khi tôi thử ... brew upgrade pianobar -vđưa Kernel.exit
cwd

Bạn nhận được gì khi bạn chạy type -a brew?
Robert S Ciaccio

brew là / usr / local / bin / brew
cwd

0

Đây là một câu trả lời chung chung, không cụ thể cho pianobarvấn đề của bạn .

Để cập nhật phần mềm đã cài đặt, trước tiên hãy cập nhật brew: brew update

và sau đó nâng cấp phần mềm đã cài đặt: brew upgrade

Để ngăn chặn một số phần mềm được nâng cấp, hãy làm brew pin YOUR-PACKAGE-HERE

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.