Jak zmusić Homebrew do aktualizacji zainstalowanego oprogramowania?


13

Mam zainstalowany pianobar i próbuję go zaktualizować za pomocą brew update pianobar. Próbowałem też, brew update pianobar --forceale to nie przyniosło żadnego efektu. Mówi, że mam lokalne zmiany, ale nie jestem pewien, jak powiedzieć, żeby je po prostu zastąpić.

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
Myślę, że musisz użyć upgrade. updatesłuży do aktualizacji formuł.
— Felix

Odpowiedzi:


14

Nie wiem, dlaczego tak się dzieje z Homebrew, kiedy nie robisz z tym nic, ale to naprawiłem:

  1. Przejdź do katalogu piwnicy Homebrew cd `brew --cellar`
  2. Zresetuj repozytorium git git reset --hard HEAD
  3. W końcu zaktualizuj pianobar! brew upgrade pianobar

FYI brew updatezaktualizuje Homebrew do najnowszej wersji, więc możesz to zrobić przed krokiem 3.


zrobił 1-3 i działało zgodnie z oczekiwaniami, dzięki! ale kiedy próbuję uruchomić pianobar, mówi Login... Error: Protocol incompatible. Please upgrade libpiano.: jakieś myśli? również, gdy próbowałem, pojawia brew updatesię błąd: Następujące nieśledzone pliki drzewa roboczego zostaną zastąpione przez scalenie: Library / Formula / tth.rb. Błąd: Błąd podczas uruchamiania git pull github.com/mxcl/homebrew.git master - przepraszam, jestem nowy w homebrew i naprawdę nie jestem pewien, co robię.
— cwd

1
Ach, cholera, sprawiasz, że życie jest tak zabawne! Czy cd `brew --prefix`wtedy git clean -fspróbuj brew update. Jeśli chodzi o kwestię Pianobar, spróbuję brew upgrade libpianodalej, ale nie używam go, więc nie jestem pewien.
— swrobel

działało, dziękuję bardzo za całą pomoc! najwyraźniej dostępna wersja libpiano nie jest jeszcze wystarczająco nowa, ponieważ wciąż pojawia się błąd, mimo że mówi, że wszystko jest aktualne.
— cwd

Miło, że mogłem pomóc. Właśnie zainstalowałem pianobar i działa dla mnie. Wiem, że Pandora niedawno zaktualizowała swój protokół, ale wygląda na to, że wersja Homebrew Pianobar jest aktualna. Moje jest 2011.09.22, jakie jest twoje? Powinien pojawić się w pierwszym wierszu po uruchomieniu pianobar.
— swrobel

2

Jak powiedział @ Felix, upgradenie używaj update.

Jeśli problem pochodzi z brudnego drzewa git i chcesz po prostu zapomnieć o swoich modyfikacjach, wpisz git reset --hard HEADprzed aktualizacją.


nic się nie dzieje, gdy próbuję ... brew upgrade pianobar -vdaje Kernel.exit
— cwd

co dostajesz, gdy biegniesz type -a brew?
— Robert S Ciaccio,

brew is / usr / local / bin / brew
— cwd

0

To ogólna odpowiedź, nie specyficzna dla twojego pianobarproblemu.

Aby zaktualizować zainstalowane oprogramowanie, najpierw zaktualizuj brew: brew update

a następnie zaktualizuj zainstalowane oprogramowanie: brew upgrade

Aby zapobiec aktualizacji niektórych programów, wykonaj następujące czynności brew pin YOUR-PACKAGE-HERE

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.