wake-up-neo.net

Beim Verwenden von brew wird ein Fehler angezeigt

Ich erhalte diese Fehlermeldung, wenn ich versuche, einen Brew-Befehl auszuführen.

Holger-Sindbaeks-MacBook-Air:~ holgersindbaek$ brew help
-bash: /usr/local/bin/brew: /usr/bin/Ruby: bad interpreter: No such file or directory

Ich habe absolut keine Ahnung, wie ich das beheben kann und habe lange ohne Antwort gesucht.

Was Sie bekommen, bedeutet, dass Homebrew den Ruby-Interpreter nicht an der angegebenen Stelle finden konnte.

Installieren Sie das Apple Developer Kit (im Lieferumfang von Xcode enthalten), das Ihnen als optionale Installation zur Verfügung stehen sollte (oder Sie können es einfach von Apple herunterladen). Dadurch wird der Ruby-Interpreter für Sie installiert.

Falls Sie Xcode bereits installiert haben, bedeutet dies, dass eines der folgenden Ereignisse eintritt:

  1. Sie haben eine kaputte Ruby-Installation
  2. Sie haben mehr als eine Ruby-Installation
  3. Ihre Installation wurde nicht richtig konfiguriert.

Um festzustellen, ob dies der erste Fall ist, können Sie Ruby ausführen und sehen, ob Sie eine Antwort erhalten.

Andernfalls ist Ihre Installation fehlerhaft und Sie müssen sie erneut installieren. Wenn Sie dies tun, führen Sie dann which Ruby aus. Dies sollte Ihnen den absoluten Pfad zu Ihrer ausführbaren Ruby-Datei geben. Wenn dies etwas anderes als /usr/bin/Ruby ist, kann Homebrew (und eine Reihe anderer Programme) es nicht finden.

Falls Sie Ihre Ruby-Installation noch nie manipuliert haben, können Sie prüfen, ob /usr/bin/Ruby bereits vorhanden ist oder nicht: cat /usr/bin/Ruby. Wenn Sie No such file or directory erhalten, können Sie auf einfache Weise einen symbolischen Link zu Ihrer Ruby-Installation erstellen. Wenn Sie die Ausgabe von which Ruby bis /usr/local/bin/Ruby annehmen, erstellen Sie den symbolischen Link auf diese Weise: Sudo ln -s /usr/local/bin/Ruby /usr/bin/Ruby und alles sollte gut sein.

Wenn sich an diesem Speicherort eine Datei befindet, können Sie file /usr/bin/Ruby ausführen, um festzustellen, ob es sich um eine echte Datei, einen symbolischen Link oder eine beschädigte Datei handelt. Wenn es sich um einen symbolischen Link handelt, sollte Ihre Installation funktionieren. Da dies nicht der Fall ist, handelt es sich wahrscheinlich um einen beschädigten Symlink oder um eine gefälschte Datei.

Sie können dies beheben, indem Sie es zuerst löschen (Sudo rm /usr/bin/Ruby) und dann einen neuen Symlink an der richtigen Stelle (Sudo ln -s /usr/local/bin/Ruby /usr/bin/Ruby) erstellen.

Wenn dies nicht der Fall ist, sollten Sie sich nach einer Neuinstallation von Xcode und dem Entfernen von Spuren einer Ruby-Installation auf Ihrem System an das Homebrew-Team wenden.

EDIT

Wie in den anderen Antworten bereits erwähnt, liegt das Problem möglicherweise auch an einer fehlerhaften Ruby-Version in den Homebrew-Einstellungen.

Eine schnelle Lösung könnte das Homebrew aktualisieren:

cd /usr/local
git pull -q Origin refs/heads/master:refs/remotes/Origin/master

Wenn dies nicht hilft, sollten Sie sich die Hände schmutzig machen und das Problem manuell beheben, indem Sie:

  1. Bearbeiten von brew.rb aus /user/local/Library/brew.rb
  2. Ändern Sie /1.8/ in /Current/ in der ersten Zeile, wodurch der Hashbang auf die aktuelle Ruby-Version als Executor verweist

Wenn dies nicht hilft, können Sie auch die MACOS-Prüfung ändern und sie von 10.5 in 10 ändern, um den berüchtigten Fehler "Homebrew erfordert Leopard oder höher" zu vermeiden.

HAFTUNGSAUSSCHLUSS

Ein großes Dankeschön an andere Mitwirkende in den Antworten und ihre Kommentatoren. Ich behebe kein Plagiat, sondern füge die Antworten einfach zu einem integrierten Artikel zusammen, um anderen zu helfen.

42
Milad Naseri

Ich habe diesen Fehler erhalten (ähnlich):

/ usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby: bad interpreter: Keine solche Datei oder Verzeichnis __./usr/local/bin/brew: Zeile 26: /usr/local/Library/brew.rb: Undefinierter Fehler: 0

und von der folgenden Lösung behoben:

  1. brew.rb öffnen:

    $ Sudo vim /usr/local/Library/brew.rb
    
  2. Ändern Sie den 1.8 der ersten Zeile in Current:

    Vor:

    #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby -W0
    

    Nach dem:

    #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/Ruby -W0
    

Dann arbeitet brew für mich. Ich hoffe es hilft, wenn jemand anderes dieses Problem hat. :)


Wenn Sie den Fehler erhalten 

Homebrew erfordert Leopard oder höher. Informationen zur Tiger-Unterstützung finden Sie unter: https://github.com/mistydemeo/tigerbrew

Ändern Sie die MACOS-Prüfung von <10.5 in <10.

Tipp von @TimCastelijns:

10.5 funktioniert nicht, weil es im Vergleich höher als 10,10 ist (.1 vs .5). Ich habe einen Check (and MACOS_VERSION != 10.10) hinzugefügt, anstatt von 10,5 auf 10 zu senken.

62
Kjuly

Fix:

Sudo gem install cocoapods
7
Shobhit C

Dies geschah, weil ich brew aktualisieren musste - in der aktualisierten Version wird bereits Current Ruby verwendet

cd /usr/local
git pull -q Origin refs/heads/master:refs/remotes/Origin/master

Dies hat das Problem gelöst

7
mcfedr

Versuchen Sie zu laufen, um die Dinge zu sehr zu vereinfachen

gem install bundler

Ich habe meine Ruby-Umgebung von RBENV auf RVM umgestellt und es hat für mich funktioniert.

5
Nick Sarafa

Besorgen Sie sich nach dem Upgrade auf macOS High Sierra die folgenden Befehle:

Sudo Edelstein installieren Kokosapods

0
Balamurugan

In meinem Fall scheint fastlane falsch installiert mit brew install fastlane System hat nicht den richtigen Pfad zur Überholspur geschrieben. Ich habe es mit alias fastlane=~/.fastlane/bin/fastlane

0
Serg Smyk

Keines der oben genannten Probleme hat bei mir funktioniert, also habe ich weiter gesucht und diese Antwort gefunden https://stackoverflow.com/a/24225960/1359088 was das Problem für mich behoben hat. Er sagt in Schritt 1, dass XCode 6-Befehlszeilentools installiert werden sollen, sagt aber nicht, wie. benutze diesen Befehl:

xcode-select --install
0
James Toomey