Ich hatte ein Problem mit Homebrew. Ich habe auf Yosemite upgegradet. Nach dem Upgrade scheint Homebrew kaputt zu sein.
Ich würde jeden Brühbefehl ausführen und diesen Fehler erhalten
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0
Wie kann man es lösen?
Ich beschloss, dies nachzuschlagen und stellte fest, dass es ein Problem gibt . Das Problem ist geschlossen, aber es ist nicht möglich, es einfach auszuführen, brew update
da Sie immer noch denselben Fehler erhalten.
Hier ist also, was Sie tun müssen:
cd /usr/local/Library
git pull origin master
Falls Sie Änderungen im Verzeichnis (/usr/local/Library) haben, wird der Git-Pull einen Fehler ausgeben. In diesem Fall müssen Sie den Master-Zweig abrufen und zwangsweise als Master festlegen:
git fetch --all
git reset --hard origin/master
Dadurch wird Ihr Homebrew aktualisiert und Sie können Brew erneut verwenden.
Wenn Sie Homebrew als Nicht-Root-Benutzer installiert haben, müssen Sie cd
anstelle /Users/yourusername/homebrew/Library
von /usr/local/Library
.
error: cannot open .git/FETCH_HEAD: Permission denied
sudo git pull origin master
Could not restore untracked files from stash Error: Failure while executing: git stash pop --quiet
. Machen Sie zuerst sudo chown -R $(whoami):admin /usr/local
diese Lösung und wenden Sie sie dann an.git fetch origin master; git add --all . ; git reset --hard origin/master;
Dann konnte ich die neuesten zusammenführen, wie Sie sagten: git pull origin master
. Ich war besorgt darüber, dass sich das Git-Repo im Freigabeverzeichnis befindet. Aber ich denke, das ist der Grund, warum Homebrew gerne alle Ihre Installationen besitzt. Passen Sie auf, wenn Sie Sachen installiert haben, die nicht von Brew stammen.Ich habe diese Lösung gefunden :
Dieser Link beschreibt es gut, aber falls der Link ausfällt, müssen Sie Folgendes tun: Geben Sie diese Befehle in Ihr Terminal ein:
cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8
Version und Speicherort von Ruby haben sich mit der neuen Version von Mac OS X geändert.
Um dies allgemein zu beheben, bearbeiten Sie /usr/local/Library/brew.rb
.
Ersetzen Sie in der ersten Zeile durch 1.8
, Current
dh von:
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0
zu:
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
brew update
da Sie jetzt über eine nicht festgeschriebene Änderung verfügen.brew update
man den von mir vorgeschlagenen Fix anwenden . Ich habe brew update
ihn bis jetzt nie benutzt, also hatte ich nicht einmal das Repo initialisiert. Kann mich nicht erinnern, wie ich es überhaupt installiert habe.Wenn Sie das Ruby-Problem beheben und dann auf ein Problem stoßen, bei dem Ihnen mitgeteilt wird, dass das System denkt, dass Sie Tiger oder eine ältere Version ausführen, finden Sie hier die Lösung dafür
Ich habe zuerst die am besten bewertete Antwort versucht und bin dann auf ein anderes Problem gestoßen . Danach habe ich es irgendwie aufgegeben, es zu reparieren, da ich nur ein paar Pakete installiert hatte. Vielleicht sind andere auch in diesem Boot.
Obwohl dies alles hervorragende Antworten sind, war es für mich einfacher, Brew einfach neu zu installieren.
Zuerst habe ich die Anweisungen ausgeführt auf:
was mich zur ersten Deinstallation verwies und eine Befehlszeile druckte. Ich habe diese Befehlszeile zum Deinstallieren ausgeführt, dann neu installiert, und alles war in Ordnung.
Ich möchte die spezifischen Befehle nicht drucken, da sie dazu neigen, sich ein wenig zu ändern, wenn das Gebräu die Installation der Dinge anpasst.
Yitz