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
cwd
źródło
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.

swrobel
źródło
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ą.

Szymon
źródło
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

lenooh
źródło