Hoe krijg ik Ruby / Homebrew / RVM aan het werk op Yosemite?

Na het installeren van Yosemite kon ik brew of ruby ​​niet draaien.

Ik kreeg deze fout bij de update van het brouwsel:

/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

deze fout krijgen op irb:

/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 `'

Antwoord 1, autoriteit 100%

Deze fout kan eenvoudig worden verholpen in de volgende stappen:

1) Terminal openen

2) Typ nano /usr/local/Library/brew.rb

3) Verander in de eerste regel “1.8” in “Current”, dus het zou er als volgt uit moeten zien:

#!/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/


Antwoord 2, autoriteit 14%

Ik heb geüpdatet naar Yosemite en ontdekte later dat brewkapot was.

/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

Als je nog geen wijzigingen hebt aangebracht in het brouwen, raad ik je het volgende aan. Lees anders hieronder verder.

  1. cd /System/Library/Frameworks/Ruby.framework/Versions/
  2. sudo ln -s Current 1.8
  3. brew update
  4. sudo unlink 1.8

Al wijzigingen aangebracht in brew-bestanden en vastgelopen in een git-puinhoop?

Ik heb geprobeerd /usr/local/Library/brew.rbte bewerken, maar de lokale wijziging in mijn git-repo verhinderde dat brew updateupdates neerhaalde. Ik heb een aantal andere oplossingen geprobeerd die op deze pagina en van andere sites worden genoemd en ik eindigde met een git-puinhoop en alles wat ik wilde doen was alles ongedaan maken wat ik had gedaan om te brouwen.

Ik heb mijn wijziging doorgevoerd, maar het maakte de zaken erger. Uiteindelijk moest ik mijn commits ongedaan maken en git reset --hard HEAD~1totdat ik bij de juiste commit was. Ik had ook een warboel van bestanden zonder versiebeheer (ik veranderde de bestandspermissies in /usr/Local) dus deed ik een git clean -f -ddie alle bestanden en mappen zonder versiebeheer verwijderde en me terugbracht naar waar ik begonnen voordat ik wijzigingen aanbracht.


Antwoord 3, autoriteit 13%

Stappen om het op te lossen:

  1. Installeer opdrachtregelprogramma’s voor Xcode 6

  2. Brouwsel opnieuw installeren:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  3. Zodra brew is geïnstalleerd, werkt rvm:

    rvm install ruby
    

Werkt voor mij, yahoo!


Antwoord 4, autoriteit 12%

Het script bewerken betekent dat brew updateniet werkt; er zijn lokale bewerkingen in bijgehouden bestanden waardoor de git pullmislukt.

Ik heb dit gedaan, waarvan ik vermoed dat het schoner is:

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

Er zijn geen klachten van brew doctor.


Antwoord 5, autoriteit 2%

Dit is een verzameling van antwoorden op posts van andere mensen en een beetje speuren op Google, maar ik dacht ik plaats het zo, zodat een volledig antwoord op één plek staat. Dit zorgt er met name voor dat alles nu werkt, maar laat je ook gewone brouwupdates doen en alles weer schoon krijgen.

  1. Open /usr/local/Library/brew.rb (emacs/vi/nano/whatever)
  2. Verander de eerste regel om te lezen: #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0. Je verandert gewoon de “1.8” die in die regel stond in “Current” (zorg ervoor dat je de hoofdletter “C” behoudt, anders raakt git later in de war).
  3. cd $(brew --repository)
  4. git add Library/brew.rb
  5. git commit -m "upgrading to ruby 2.0"
  6. brew update(of sudo brew updateals je brouwsel is ingesteld om alleen systeemwijzigingen uit te voeren met sudo)

Credit: veel hiervan kwam hier, hoewel ik het echt aanraad tegen het doen van git commit -amin je /usr/local map.


Antwoord 6

Zoals de vorige zei:
1) Wijzig naar huidige
2) installeer xcode 6

Als je nu nog meer problemen hebt met Brew en Ruby, zou dit moeten helpen:
Op de een of andere manier heeft brew ruby ​​nodig op versie 1.8, dus maak de map:

sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin

en maak een symbolische link:

sudo ln -s /usr/bin/ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

Antwoord 7

Bekijk deze tutorial hier: http://ryantvenge.com/2014 /09/ruby-homebrea-yosemite/

Het werkte voor mij!


Antwoord 8

Ik heb dit als volgt opgelost:

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

Antwoord 9

fout bij update van brouwsel kan hiermee worden verholpen:

sudo chown -R $USER:admin /usr/local
cd /usr/local
git reset --hard origin/master
brew update

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


Antwoord 10

Opmerking: doe het onderstaande alleen als je in een volledig mislukte staat terechtkomt, want dit is erg GEVAARLIJK

Als voorbeeld kreeg ik steeds

$ sudo ln -s Huidige 1.8

$ brouwsel-update

/usr/local/Library/brew.rb:18:in ‘: undefined methode help?’ for [“update”]:Array (NoMethodError)

Ik krijg dit… (ongeacht welk commando, schakel gewoon “update” uit met het commando)
Ik heb het probleem opgelost door te vragen om een ​​map met vrienden /usr/local. Ik heb toen een back-up gemaakt van mijn map /usr/local.

sudo mv /usr/local /usr/local.orig

Vervolgens heb ik zijn /usr/localnaar de mijne verplaatst

sudo mv ~/Downloads/local /usr/local

Opmerking: u zult waarschijnlijk wat gegevens verliezen, dus maak een back-up.


Antwoord 11

Ik had problemen met het installeren van Ruby met pakketbeheerders. Eerlijk gezegd geef ik toe dat ik er weinig ervaring mee heb en dat ik niet de moeite heb genomen om dieper te graven zoals de meeste andere respondenten deden. Ik ben lui en gebruik liever een binair installatieprogramma dat beschikbaar is voor de meeste opsys-keuzes en veel pakketten. Helaas lijkt Ruby er geen te leveren.

Ik vond ruby-build eenvoudig te installeren (op zichzelf staand – niet de plug-in), en het bouwde Ruby zonder fouten uit bronnen en plaatste het waar ik het wilde hebben.

Bingo – makkelijk:) Dit lijkt een goed alternatief voor degenen onder ons van de pakketbeheerder die wordt uitgedaagd overredingskracht.

Charlie

Other episodes