2011-01-05 21 views
14

Quiero degradar la versión de Ruby que tengo instalada (Ruby 1.9.2) en el sistema operativo Ubuntu 10.04 para que pueda usar la versión adecuada de Ruby 1.8.7 para ejecutar Rails 2.0.2. Estoy usando la versión anterior de Rails para el propósito del proyecto.Cómo degradar de Ruby 1.9.2 a Ruby 1.8.7 para ejecutar Rails 2.0.2

Si uso Rails 2.0.2 con Ruby 1.9.2 me da un error al decir que no puedo convertir el Enumerador en una matriz.

Pensé que podría usar rvm, pero no estoy seguro si es adecuado para la versión anterior.

me sale el siguiente en la terminal cuando se utiliza el comando lista RVM conocido

[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 

me sale el siguiente en la lista de paquetes instalados en rubí con el comando dpkg -l | grep rubí

[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 

¿Es necesario desinstalar Rubí 1.9.2 y sólo entonces recién instalo de Ruby 1.8.7 o versiones puedo cambiar ?. Si puedo cambiar versiones, dirígeme cómo configurar la ruta de Ruby 1.9.2 a Ruby 1.8.7. O si hay alguna otra forma, por favor avíseme.

Si tengo que desinstalar Ruby 1.9.2 y luego instalar Ruby 1.8.7, por favor avísenme cómo puedo hacerlo. Intenté los siguientes comandos para desinstalar Ruby 1.9.2 pero no parecía encontrar el paquete 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 

Cuando me fui para la versión actual de Rubí instalado se muestra:

[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 

Gracias por su ayuda .. !!

Respuesta

39

punto de RVM entero es por lo que puede tener varias versiones de Ruby y cambiar entre ellos fácilmente ..

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 para Zabba, una persona muy útil. – Tass

+3

Sí, Zabba y Wayne E. Seguin que escribieron RVM ... :) – DemitryT

+0

El uso de rvm podría no funcionar sin '/ bin/bash --login' – t1gor

7

Uso RVM y se ahorrará semanas de dolor.

Puede usar varias versiones de Ruby y cada versión tiene su propio conjunto de gemas. De esta forma, puede tener 1.8.7 y 1.9.2 instalados simultáneamente con Rails 2 y Rails 3 gemas en el primero y el segundo respectivamente.

La instalación de una versión de Ruby es tan simple como escribir rvm install 1.9.2 o rvm install 1.8.7. Para alternar entre los dos: rvm 1.9.2 o rvm 1.8.7.

Puede configurar el Ruby predeterminado con rvm --default 1.9.2 o rvm --default 1.8.7.

RVM no tocará su Ruby local ni sus gemas. Puede volver a usarlo en cualquier momento: rvm system.

0

source ~/.rvm/scripts/RVM

recarga RVM (Actualizar la última RVM instalado)

RVM instalar 1.8.7

RVM utilización 1.8.7 --default

Cuestiones relacionadas