2011-01-05 6 views
14

Je veux rétrograder la version Ruby que j'ai installée (Ruby 1.9.2) sur Ubuntu 10.04 OS afin que je puisse utiliser la version appropriée de Ruby 1.8.7 pour exécuter Rails 2.0.2. J'utilise l'ancienne version de Rails à des fins de projet.Comment passer de Ruby 1.9.2 à Ruby 1.8.7 pour exécuter Rails 2.0.2

Si j'utilise Rails 2.0.2 avec Ruby 1.9.2, il me donne une erreur en disant que je ne peux pas convertir Enumerator en tableau.

Je pensais que je pourrais utiliser RVM, mais je ne suis pas sûr si son approprié pour rétrograder.

Je reçois le texte suivant dans le terminal lorsque j'utilise la commande liste de RVM connue

[email protected]:~$ rvm list known 
# MRI Rubies 
[ruby-]1.8.6[-p399] 
[ruby-]1.8.6-head 
[ruby-]1.8.7[-p302] 
[ruby-]1.8.7-head 
[ruby-]1.9.1-p243 
[ruby-]1.9.1[-p376] 
[ruby-]1.9.1-p429 
[ruby-]1.9.1-head 
[ruby-]1.9.2-preview1 
[ruby-]1.9.2-preview3 
[ruby-]1.9.2-rc1 
[ruby-]1.9.2-rc2 
[ruby-]1.9.2[-p0] 
[ruby-]1.9.2-head 
ruby-head 

# JRuby 
jruby-1.2.0 
jruby-1.3.1 
jruby-1.4.0 
jruby-1.5.1 
jruby-1.5.2 
/home/mohnish/.rvm/config/known 

Je reçois ce qui suit dans la liste des paquets de rubis installés sur l'utilisation de la commande dpkg -l | grep rubis

[email protected]:~$ dpkg -l | grep ruby 
ii libdbm-ruby        4.2            DBM interface for Ruby 
ii libdbm-ruby1.8        1.8.7.249-2          DBM interface for Ruby 1.8 
ii libgdbm-ruby        4.2            GDBM interface for Ruby 
ii libgdbm-ruby1.8       1.8.7.249-2          GDBM interface for Ruby 1.8 
ii libopenssl-ruby       4.2            OpenSSL interface for Ruby 
ii libopenssl-ruby1.8       1.8.7.249-2          OpenSSL interface for Ruby 1.8 
ii libreadline-ruby       4.2            Readline interface for Ruby 
ii libreadline-ruby1.8      1.8.7.249-2          Readline interface for Ruby 1.8 
ii libruby1.8         1.8.7.249-2          Libraries necessary to run Ruby 1.8 
ii libtcltk-ruby        4.2            Tcl/Tk interface for Ruby 
ii libtcltk-ruby1.8       1.8.7.249-2          Tcl/Tk interface for Ruby 1.8 
ii rdoc          4.2            Generate documentation from ruby source file 
ii ruby          4.2            An interpreter of object-oriented scripting 
ii ruby-elisp         4.2            Emacs-lisp ruby-mode for Ruby 
ii ruby-full         4.2            Ruby full installation 
ii ruby1.8         1.8.7.249-2          Interpreter of object-oriented scripting lan 
ii ruby1.8-dev        1.8.7.249-2          Header files for compiling extension modules 
ii ruby1.8-elisp        1.8.7.249-2          ruby-mode for Emacsen 
[email protected]:~$ ^C 

Ai-je besoin de désinstaller Ruby 1.9.2 et seulement alors fraîchement Ruby installer 1.8.7 ou puis-je passer d'une version ?. Si je peux changer de version, veuillez m'indiquer comment définir le chemin de Ruby 1.9.2 à Ruby 1.8.7. Ou s'il y a un autre moyen s'il vous plaît faites le moi savoir.

Si je dois désinstaller Ruby 1.9.2 puis installer Ruby 1.8.7, merci de me faire savoir comment procéder. J'ai essayé les commandes suivantes pour désinstaller Ruby 1.9.2 mais il n'a pas semblé trouver le paquet Ruby 1.9.2.

sudo aptitude remove ruby 

sudo aptitude remove ruby 1.9.2p0 

sudo purge ruby 

sudo aptitude purge ruby 1.9.2p0 

Lorsque j'ai vérifié pour la version actuelle de Ruby installé montre:

[email protected]:~/Downloads/rubygems_postextract/rubygems-1.4.1$ ruby -v 
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux] 

[email protected]:~/Downloads/rubygems_postextract/rubygems-1.4.1$ which ruby 
/home/mgj/.rvm/rubies/ruby-1.9.2-p0/bin/ruby 

Merci pour votre aide .. !!

Répondre

39

point entier de RVM est que vous pouvez avoir plusieurs versions de Ruby et basculer entre eux facilement ..

rvm install 1.8.7 #or some specific version - choose from the rvm list known 
rvm use 1.8.7 
rvm gemset create rails202 #create a gemset called "rails202" for Ruby 1.8.7 
rvm [email protected] #make the gemset the current selection 
gem install rails -v 2.0.2 #install rails (just for this gemset!) 
#now, we have a gemset called "rails202" in Ruby 1.8.7. 
#anytime we want to use it, we do: 
rvm [email protected] 
#create as many gemsets needed, eg for rails 3.0.3 on Ruby 1.8.7 we can do the 
#similar as above. Then to use the new gemset just do: 
rvm [email protected] 
#et voila! we are now using Rails 3.0.3 on Ruby 1.8.7 ! 
+2

+1 pour Zabba, une personne très utile. – Tass

+3

Oui, Zabba et Wayne E. Seguin qui ont effectivement écrit RVM .. :) – DemitryT

+0

l'utilisation de RVM pourrait ne pas fonctionner sans '/ bin/bash --login' – t1gor

7

Utilisez RVM et vous épargner semaines de la douleur.

Vous pouvez utiliser plusieurs versions de Ruby et chaque version possède son propre ensemble de gemmes. De cette façon, vous pouvez avoir 1.8.7 et 1.9.2 installés simultanément avec les gemmes Rails 2 et Rails 3 respectivement sur le premier et le dernier.

L'installation d'une version Ruby est aussi simple que de taper rvm install 1.9.2 ou rvm install 1.8.7. Pour basculer entre les deux: rvm 1.9.2 ou rvm 1.8.7. Vous pouvez définir le Ruby par défaut avec rvm --default 1.9.2 ou rvm --default 1.8.7. RVM ne touchera pas votre Ruby local ni ses pierres précieuses. Vous pouvez y revenir à tout moment: rvm system.

0

la source ~/.rvm/scripts/RVM

reload RVM (Réintroduire la dernière RVM installé)

RVM installer 1.8.7

RVM utilisation 1.8.7 - par défaut

Questions connexes