Wie kann ich Homebrew zwingen, installierte Software zu aktualisieren?

13

Ich habe Pianobar installiert und versuche, es mit zu aktualisieren brew update pianobar. Ich habe es auch versucht, brew update pianobar --forceaber das hatte keine Wirkung. Es heißt, dass ich lokale Änderungen habe, aber ich bin nicht sicher, wie ich es sagen soll, diese einfach zu überschreiben.

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
quelle
2
Ich denke du musst benutzen upgrade. updatedient zur Aktualisierung der Formeln.
Felix

Antworten:

14

Ich weiß nicht, warum das bei Homebrew passiert, wenn Sie nichts dagegen unternehmen, aber ich habe es folgendermaßen behoben:

  1. Wechseln Sie in Ihr Homebrew-Kellerverzeichnis cd `brew --cellar`
  2. Setze das Git-Repository zurück git reset --hard HEAD
  3. Pianobar endlich upgraden! brew upgrade pianobar

Zu Ihrer brew updateInformation: Homebrew wird auf die neueste Version aktualisiert. Möglicherweise möchten Sie dies vor Schritt 3 tun.

swrobel
quelle
tat 1-3 und es hat wie erwartet funktioniert, danke! aber wenn ich dann versuche, pianobar zu starten, heißt es: Login... Error: Protocol incompatible. Please upgrade libpiano.irgendwelche gedanken ? Auch als ich es versuchte, brew updateerhalte ich eine Fehlermeldung: Die folgenden nicht verfolgten Arbeitsbaumdateien werden durch Zusammenführen überschrieben: Library / Formula / tth.rb. Fehler: Fehler beim Ausführen von git pull github.com/mxcl/homebrew.git master - Entschuldigung, ich bin neu bei Homebrew und bin mir nicht sicher, was ich tue.
KWD
1
Ach du Scheiße, du machst das Leben so lustig! Sie cd `brew --prefix`dann git clean -fversuchen brew update. Was das Pianobar-Problem angeht, würde ich es als brew upgrade libpianonächstes versuchen , aber ich verwende es nicht, also bin ich nicht sicher.
swrobel
das hat funktioniert, vielen dank für all die hilfe! Anscheinend ist die Version von libpiano noch nicht neu genug, da ich immer noch den Fehler erhalte, obwohl sie besagt, dass alles auf dem neuesten Stand ist.
KWD
Froh, dass ich Helfen kann. Ich habe gerade Pianobar installiert und es funktioniert für mich. Ich weiß, dass Pandora kürzlich ihr Protokoll aktualisiert hat, aber es scheint, dass Homebrews Pianobar-Version auf dem neuesten Stand ist. Meins ist 2011.09.22, was ist deins? Es sollte in der ersten Zeile angezeigt werden, nachdem Sie Pianobar ausgeführt haben.
swrobel
2

Wie @Felix sagte, benutze upgradenicht update.

Wenn das Problem von Ihrem dreckigen Git-Baum herrührt und Sie nur Ihre Änderungen vergessen möchten, geben Sie git reset --hard HEADvor dem Upgrade Folgendes ein.

Simon
quelle
nichts passiert, wenn ich das versuche ... brew upgrade pianobar -vgibt Kernel.exit
CWD
Was bekommst du, wenn du rennst type -a brew?
Robert S Ciaccio
Brew ist / usr / local / bin / brew
CWD
0

Dies ist eine allgemeine Antwort, die nicht auf Ihr pianobarProblem zugeschnitten ist.

Um die installierte Software zu aktualisieren, aktualisieren Sie zuerst brew: brew update

und aktualisiere dann die installierte Software: brew upgrade

Führen Sie Folgendes aus, um zu verhindern, dass eine Software aktualisiert wird brew pin YOUR-PACKAGE-HERE

Dreher
quelle