2013-03-19 18 views
6

Czuję się jak idiota, ale robię to cały dzień i nie wiem gdzie.Rubygems na OSX brakuje

Kilkukrotnie wznawiałem, próbując uzyskać pełną instalację Rubiego na moim środowisku OSX, RVM, Brew, Ruby: i za każdym razem, gdy przechodzę do instalacji Ruby, odkłada się ona na instalacji rubygems.

Powodem, dla którego muszę zacząć od nowa, jest to, że RVM nie zaktualizowałoby się w Jewelerybox po mojej pierwszej udanej instalacji (użyłem pakietu zintegrowanego RubyInstaller), więc nie mogłem zarządzać moimi klejnotami - problem spowodowane przez początkową instalację Ruby w systemie, który znajduje się w/usr/local i nie jest pod moim własnym katalogiem. Aby to naprawić, odinstalowałem wszystkie moje rzeczy z Ruby i zacząłem od nowa.

Wszystko w porządku, dopóki kompilator ruby ​​nie zaczął gakeować na sekcji instalacyjnej rubygems podczas instalowania ruby ​​2.0.0. Sprawdzając pliki systemowe OSX w usr/bin widzę, że tam też nie ma rubygemów (powinien być obecny domyślnie na OSX). Jakieś pomysły? (Zauważ, że XCode jest aktualne i zawiera narzędzia wiersza poleceń zainstalowany)

Ostatnia próba miała miejsce:

$ rvm get head --autolibs=3 # get the latest RVM and build required libs 
$ rvm requirements # just in case, install all other required stuff 
$ rvm remove 2.0.0 
$ rvm install ruby-2.0.0 

. . . który odpala się następujący błąd:

[2013-03-19 23:21:50] /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/bin/ruby 
Exception `LoadError' at /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/rubygems.rb:1073 - cannot load such file -- rubygems/defaults/operating_system 
Exception `LoadError' at /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/rubygems.rb:1082 - cannot load such file -- rubygems/defaults/ruby 
mkdir -p /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0 

...

install -c -m 0755 /var/folders/nq/wkj89k854tl0w97n68qdn820pzk_51/T/gem.84634 /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/bin/gem 
rm /var/folders/nq/wkj89k854tl0w97n68qdn820pzk_51/T/gem.84634 
ERROR: While executing gem ... (NoMethodError) 
    undefined method `fu_stream_blksize' for #<Gem::Commands::SetupCommand:0x007ffd0e054818> 
Installing RubyGems 
Installing gem executable 
+0

Spróbuj wykonać następujące czynności: 'echo $ {LANG: -empty}' 'następnie export LANG = en_US.UTF-8'. Następnie spróbuj ponownie. – fmendez

+0

@fmendez: Dlaczego? – AGS

+0

@AGS Z powodu podobnego problemu zgłoszonego tutaj: https://github.com/wayneeseguin/rvm/issues/1689 i dublowane tutaj: https://github.com/rubygems/rubygems/issues/516 – fmendez

Odpowiedz

1

Wierzę, że problem jest gdzie RVM umieszcza swoje zależnościami - Global vs folderze użytkownika. Od książce "Agile rozwoju z szyn":

First, you’ll need to make sure you have Xcode 3 or later installed...

$ xcodebuild -version 

If you have Xcode version 3 installed, you’ll need to install the Git version control system separately. Verify your installation by running the following command:

$ git --version 

Next, install RVM itself:

$ curl -L https://get.rvm.io | bash -s stable 

Exit your command window or Terminal application and open a new one. This causes your .bash_login to be reloaded. Execute the following command, which provides additional installation instructions tailored to your specific operating system:

$ rvm requirements 

Look for the line that tells you how to install the necessary OS dependencies for Ruby (MRI). Once you complete those instructions, you can proceed to install the Ruby interpreter itself:

$ rvm install 2.0.0 

The preceding step will take a while as it downloads, configures, and compiles the necessary executables. Once it completes, use that environment, and install rails:

$ rvm use 2.0.0 
$ gem install rails --version 4.0.0.beta1 --no-ri --no-rdoc 

With the exception of the rvm use statement, each of the above instructions need only be done once. The rvm use statement needs to be repeated each time you open a shell window. The use keyword is optional, so you can abbreviate this to rvm 2.0.0. You can also choose to make it the default Ruby interpreter for new terminal sessions with the following command:

$ rvm --default 2.0.0 

You can verify successful installation using the following command:

$ rails -v 

Jeśli masz problem, spróbuj wykonać wymienione pod Instalacja Rozwiązywanie problemów z pozycją na stronie RVM.

Mam nadzieję, że zrobi to za Ciebie!

+4

Uważam, że przegapiłem niektóre wymagania rvm. Po posortowaniu, 'rvm install 2.0.0' nadal zwraca podobny błąd. ale po uruchomieniu 'rvm rubygems latest' po pomyślnym zainstalowaniu rubygemów. – lulalala

3

Miałem dokładnie ten sam błąd, instalując dzisiaj ruby ​​v2 w rvm. Byłem na koncie użytkownika Ubuntu, który potrzebował użyć "sudo" - i wprowadzić moje hasło do konta dla sudo - w celu zainstalowania zależności OS.

Twoje pytanie wspomina o uruchomieniu rvm requirements na zainstalowaniu zależności. To wydaje się być nowym zachowaniem w rvm, od wersji 1.19. Wyglądało na to, że instaluje mnóstwo zależności.Ale potem instalacja bombardowała ruby.

We wcześniejszych wersjach RVM, wpisując rvm requirements po prostu lista Zależności dla RVM i Ruby, jak w Archonic's odpowiedź.

Wpisałem rvm implode a następnie zaczął się z:

\curl -L https://get.rvm.io | bash -s 1.18.21 
source /home/deploy/.rvm/scripts/rvm 
rvm requirements 

W tym momencie mogę zainstalować biblioteki/narzędzia, które RVM powiedział, że potrzebne do RVM i Ruby, a następnie rvm install ruby-2.0.0-p0 udało.

+1

Dla odniesienia, biblioteki "NEW" pominięte przez "wymagania rvm" w rvm 1.19.0 były: build-essential dpkg-dev g ++ g ++ - 4.6 libapr1 libaprutil1 libdb4.8 libdpkg-perl libneon27-gnutls libstdC++ 6- 4.6-dev subversion libsvn1 –

1

Ten pracował dla mnie:

rvm get head 
rvm requirements 
rvm install ruby-2.0