Nach der Installation von Yosemite konnte ich weder Brew noch Ruby ausführen.
Ich habe diese Fehlermeldung beim Brew-Update 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 23: /usr/local/Library/brew.rb: Undefined error: 0
diesen Fehler bei irb bekommen:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/fileutils.rb:245:in mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14 (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/fileutils.rb:245:infu_mkdir'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/fileutils.rb:217:inreverse_each'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/fileutils.rb:217:in block in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/fileutils.rb:203:ineach'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/fileutils.rb:203:in mkdir_p' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:210:inwrite_gem_make_out'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:132:in build_error' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:171:inrescue in build_extension'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:156:in build_extension' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198:inblock in build_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in each' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:inuse_ui'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1434:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb:56:in contains_requirable_file?' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:inblock in find_inactive_by_path'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in each' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:infind'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:intry_activate'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:150:in block in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:158:inblock in each_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:167:in each_sublocale' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:157:ineach_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:145:in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:124:infind'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:108:in load' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/locale.rb:32:ininitialize'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/init.rb:114:in new' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/init.rb:114:ininit_config'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb/init.rb:16:in setup' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/2.0.0/irb.rb:380:instart'
from /usr/bin/irb:12:in `'
Dieser Fehler kann leicht in den folgenden Schritten behoben werden:
1) Terminal öffnen
2) Geben Sie nano /usr/local/Library/brew.rb
ein.
3) In der ersten Zeile ändern Sie "1.8" in "Aktuell", es sollte also so aussehen:
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/Ruby -W0
via http://blog.ic3man.gr/2014/06/homebrew-Ruby-bad-interpreter-no-such-file-or-directory/
Ich habe ein Update auf Yosemite durchgeführt und später herausgefunden, dass brew
defekt war.
/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 23: /usr/local/Library/brew.rb: Undefined error: 0
Wenn Sie noch keine Änderungen am Sud vorgenommen haben, empfehle ich Folgendes. Ansonsten weiter unten lesen.
cd /System/Library/Frameworks/Ruby.framework/Versions/
Sudo ln -s Current 1.8
brew update
Sudo unlink 1.8
Haben Sie bereits Änderungen an Braudateien vorgenommen und stecken in einem Gammeldreck?
Ich habe versucht, /usr/local/Library/brew.rb
zu bearbeiten, aber die lokale Änderung an meinem Git-Repo hinderte brew update
daran, Aktualisierungen abzurufen. Ich habe ein paar andere Lösungen ausprobiert, die auf dieser Seite und von anderen Websites erwähnt wurden, und ich bekam ein Durcheinander und alles, was ich wollte, war, alles, was ich getan hatte, rückgängig zu machen.
Ich habe meine Veränderung begangen, aber es hat die Dinge verschlimmert. Schließlich musste ich meine Commits und git reset --hard HEAD~1
rückgängig machen, bis ich am richtigen Commit-ish war. Ich hatte auch ein Durcheinander von unversionierten Dateien (ich habe die Dateiberechtigungen in/usr/Local geändert), also machte ich einen git clean -f -d
, der alle unversionierten Dateien und Verzeichnisse entfernte, und brachte mich zu meinem Ausgangspunkt zurück, bevor ich Änderungen vorgenommen hatte.
Schritte, um das Problem zu beheben:
Installieren Sie Befehlszeilentools für Xcode 6
Brühe neu installieren:
Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Sobald der Brew installiert ist, funktioniert rvm:
rvm install Ruby
Arbeitete für mich, yahoo!
Wenn Sie das Skript bearbeiten, funktioniert brew update
nicht. Es gibt lokale Änderungen an nachverfolgten Dateien, wodurch der git pull
fehlschlägt.
Ich habe das gemacht, was meiner Meinung nach sauberer ist:
cd /usr/local/Library
git pull -q Origin refs/heads/master:refs/remotes/Origin/master
Es gibt keine Beschwerden von brew doctor
.
Dies ist ein Konglomerat aus Antworten von anderen Leuten und ein bisschen in Google gebuddelt, aber ich dachte, ich würde es so auslegen, dass eine vollständige Antwort an einem Ort ist. Insbesondere funktioniert dies jetzt, aber Sie können auch Updates wie gewohnt brauen und alles wieder sauber machen.
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/Ruby -W0
. Sie ändern nur die "1.8", die in dieser Zeile war, auf "Current" (stellen Sie sicher, dass Sie die Großbuchstaben "C" behalten, sonst wird git später verwirrt).cd $(brew --repository)
git add Library/brew.rb
git commit -m "upgrading to Ruby 2.0"
brew update
(Oder Sudo brew update
, Wenn Ihr Sudo nur Systemänderungen mit Sudo vornimmt)Gutschrift: ein Großteil davon kam von hier , obwohl ich wirklich empfehle, git commit -am
Nicht in Ihrem/usr/local-Ordner auszuführen.
Wie zuvor gesagt: 1) Zum aktuellen .__ wechseln. 2) xcode 6 installieren
Wenn Sie jetzt weitere Probleme mit Brew und Ruby haben, sollte dies helfen: Irgendwie Brew braucht Ruby in Version 1.8.
Sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin
und mache einen Symlink:
Sudo ln -s /usr/bin/Ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby
Sehen Sie sich dieses Tutorial hier an: http://ryantvenge.com/2014/09/Ruby-homebrea-yosemite/
Es hat für mich funktioniert!
Ich habe das wie folgt behoben:
Sudo chown -R $(whoami):admin /usr/local
cd $(brew --prefix) && git fetch Origin && git reset --hard Origin/master
Als Beispiel bin ich immer wieder gekommen
$ Sudo ln -s Current 1.8
$ Brew-Update
/usr/local/Library/brew.rb:18:in ': undefined method help? ’für [„ update “]: Array (NoMethodError)
Ich bekomme einfach das ... (egal welcher Befehl einfach mit dem Befehl "Update" ausschaltet) Ich löste das Problem, indem ich nach einem Buddys /usr/local
-Ordner fragte. Ich habe dann eine Sicherungskopie meines /usr/local
-Ordners erstellt.
Sudo mv/usr/local /usr/local.orig
Ich habe dann seinen /usr/local
zu meinem verschoben
Sudo mv ~/Downloads/local/usr/local
Hinweis: Sie werden wahrscheinlich einige Daten verlieren, stellen Sie also sicher, dass Sie eine Sicherungskopie erstellen.
brüh-Update-Fehler können damit behoben werden:
Sudo chown -R $USER:admin /usr/local
cd /usr/local
git reset --hard Origin/master
brew update