Installation du chemin Rails sur Ubuntu avec RVM

Je suis un serveur Linux exécutant Ubuntu 10.04 et essayant d’installer des rails. J’ai d’abord installé ruby ​​puis RVM puis téléchargé et installé rubygems puis installé des rails.

Rails semble seulement répondre si j’ai un «sudo» devant la commande. Si j’écris «rails new test» dans le terminal, j’obtiens ceci:

/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' from /usr/bin/rails:18 

Si je vais au terminal et écris “rails -v”, je reçois la même chose:

  /usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' from /usr/bin/rails:18 

Et si je vais au terminal et écris “sudo rails -v”, j’obtiens ce qui suit: Rails 3.0.0.rc

‘environnement gemme’ me donne ceci:

 RUBYGEMS VERSION: 1.3.7 - RUBY VERSION: 1.9.2 (2010-07-11 patchlevel -1) [i686-linux] - INSTALLATION DIRECTORY: /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial - RUBY EXECUTABLE: /home/josh/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby - EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial/bin 

Mon soupçon est que mon chemin n’est pas configuré correctement mais je ne sais pas comment le réparer. Suggestions?

J’ai également rencontré ce problème lors d’une installation propre d’Ubuntu 10.10 … même après l’installation des pré-requirejs rvm et ruby ​​documentés par “$ rvm notes”.

Cela semble être un problème avec l’installation de gem “rvm” incapable de trouver l’installation du système zlib. Le commentaire de Daniel ci-dessus est un excellent commentaire – dommage que ce ne soit pas une réponse.

La solution pour moi était donc de suivre les instructions de Daniel sur: https://rvm.beginrescueend.com/packages/zlib/ .

 $ rvm pkg install zlib $ rvm remove 1.9.2 $ rvm install 1.9.2 

La première commande installe zlib localement dans votre zone RVM. La deuxième commande supprime ruby ​​1.9.2 et la troisième commande réinstalle ruby ​​1.9.2 avec le zlib rvm-local.

Ensuite, définissez votre version ruby ​​et installez des gemmes:

$ rvm use 1.9.2
$ gem installe “quoi”

Je suppose que vous avez installé vos gems en utilisant sudo (ex: sudo gem install rails ). Lorsque vous utilisez sudo pour installer, RVM est ignoré et le système ruby ​​est utilisé.

Lorsque vous utilisez RVM, vous ne voulez vraiment pas installer avec sudo (notez qu’il existe une commande rvmsudo, pour exécuter votre installation RVM via sudo, mais vous l’utiliserez rarement). Comme vous pouvez le voir dans votre environnement, vos gems seront stockés dans /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial/gems, où vous n’avez pas besoin des droits root pour installer.

Alors essayez:

 gem install rails 

comme vous et voyez si tout fonctionne.

Si vous obtenez cet avertissement, “ERREUR: Commande de chargement: mettre à jour (LoadError) un tel fichier à charger – zlib”

Fondamentalement, si la bibliothèque zlib n’est pas là au moment où vous comstackz ruby, il vous suffit de revenir en arrière et d’installer la bibliothèque, puis de recomstackr ruby.

Alors, essayez ces étapes

  1. Désinstaller ruby

    rvm remove ruby-1.9.2

  2. Installer les librairies nécessaires

    sudo apt-get installer build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  3. Réinstaller Ruby

    rvm install 1.9.2

  4. Vous voudrez probablement définir cette version de ruby ​​par défaut

    rvm use 1.9.2 –default

  5. Juste pour être sûr, fermez le terminal que vous avez actuellement ouvert et ouvrez-en un nouveau. Vous devriez être bon pour partir d’ici.

Comme Rob Di Marco l’a indiqué ci-dessus, vous ne pouvez pas utiliser les sudo gem install rails avec RVM (voir la documentation RVM ).

Je viens de poser une question très similaire. J’ai initialement installé des rails avec sudo gem et lorsque j’ai tenté d’installer une ancienne version de rails en utilisant RVM, j’ai rencontré ce problème. C’était mon code:

 rvm use 1.8.7 rvm gemset create rails3.0.1 rvm [email protected] sudo gem install rails --version=3.0.1 #the *sudo* in this line is WRONG 

Un autre utilisateur (zetetic) a suggéré de désinstaller votre “sudo gem rails” avec la commande suivante:

 sudo gem uninstall rails 

Et puis installez à nouveau sans sudo – les gem install rails

Après avoir fait tout cela, j’ai réessayé mon code d’origine et cela a fonctionné, mais cette fois sans sudo:

 rvm use 1.8.7 rvm gemset create rails3.0.1 rvm [email protected] gem install rails --version=3.0.1 

Le code ci-dessus ne vous concerne que si vous tentez d’utiliser RVM, mais pour résoudre votre problème, essayez de désinstaller vos rails sudo et de ré-installer sans sudo. Travaillé pour moi Bonne chance!

La solution est la suivante :

 apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev 

Alors :

 rvm install ruby-1.9.2-p290 rvm default 1.9.2 

Non, toutes mes gemmes sont installées sans sudo .

Voici quelques informations de débogage qui peuvent vous aider.

$ PATH avant la rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /home/kevin/.rvm/gems/ruby-1.9.2-p0@global/bin: /home/kevin/.rvm/ rubies / ruby-1.9.2-p0 / bin: /home/kevin/.rvm/bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / usr / jeux

$ PATH après rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /bin:/home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games

Ceci est mon fichier .bashrc: http://pastebin.com/H9U3azAk

si vous installez par source

 ext/Setup and uncomment the zlib line $ ./configure $ make $ sudo make install $ ruby -v => ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] $ gem -v => 1.3.7 

Voir: L’ installation de RVM Ruby 1.9.1 ne peut pas localiser zlib, mais sa bibliothèque d’exécution et de développement est là

  1. d’abord, installez les libs nécessaires

    sudo apt-get installer build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  2. puis, réinstallez ruby ​​1.9.2

    rvm réinstallez 1.9.2 && rvm use 1.9.2