wake-up-neo.net

Wie kann man Ruby/Homebrew/RVM dazu bringen, an Yosemite zu arbeiten?

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 `'
118
eden

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/

281
raz0r

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.

  1. cd /System/Library/Frameworks/Ruby.framework/Versions/
  2. Sudo ln -s Current 1.8
  3. brew update 
  4. 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.

39
Jason R

Schritte, um das Problem zu beheben:

  1. Installieren Sie Befehlszeilentools für Xcode 6

  2. Brühe neu installieren:

    Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  3. Sobald der Brew installiert ist, funktioniert rvm:

    rvm install Ruby
    

Arbeitete für mich, yahoo!

37
eden

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.

33
Otto

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.

  1. Öffne /usr/local/Library/brew.rb (emacs/vi/nano/whatever)
  2. Ändern Sie die erste Zeile in #!/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).
  3. cd $(brew --repository)
  4. git add Library/brew.rb
  5. git commit -m "upgrading to Ruby 2.0"
  6. 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.

7
Eli

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
3
Vanessa Böhner

Sehen Sie sich dieses Tutorial hier an: http://ryantvenge.com/2014/09/Ruby-homebrea-yosemite/

Es hat für mich funktioniert!

2
user790999

Ich habe das wie folgt behoben:

  1. Sudo chown -R $(whoami):admin /usr/local
  2. cd $(brew --prefix) && git fetch Origin && git reset --hard Origin/master
1
Alex Lin

Hinweis: Führen Sie das Folgende nur aus, wenn Sie in einem vollständig ausgefallenen Zustand landen, da dies sehr gefährlich ist

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.

0
abc123

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

https://github.com/Homebrew/homebrew/issues/19140

0
spicyramen