2010-07-18 31 views
19

Estoy ejecutando Ruby 1.9.1p243 en CentOS, y decidí instalar rvm para gestionar la actualización a 1.9.2 o la degradación a 1.8.7 (lo que resulte mejor para rails3).RVM no cambia Rubies

Seguí las instrucciones aquí: http://rvm.beginrescueend.com/rvm/install/ y todo instalado correctamente. Pude compilar e instalar Ruby 1.8.7, 1.9.1 y 1.9.2.

Sin embargo, si trato de cambiar realmente a uno de los rubies instalados rvm, con rvm use 1.8.7, por ejemplo, nada funciona. Mi sistema todavía usa el Ruby que he instalado en/usr/local/bin/ruby.

Un ejemplo de la salida me sale:

$ rvm use 1.8.7 
$ ruby -v 
ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux] 
$ which ruby 
/usr/local/bin/ruby 
$ rvm use 1.9.2 
$ ruby -v 
ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux] 
$ which ruby 
/usr/local/bin/ruby 

no tengo ni idea de por qué esto está ocurriendo, y me parece que no puede encontrar nada en línea sobre el tema tampoco. Cualquier ayuda sería apreciada.

+1

¿De hecho configuró la secuencia de comandos en su .bashrc? Eso podría ser lo que te estás perdiendo. –

+0

Si quiere decir, ¿agregué [[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm" a mi .bashrc, entonces sí, lo hice. Y nada es "devuelto" en mi .bashrc como advierten las notas de instalación. –

Respuesta

16

Normalmente, el soporte de rvm es más fácil a través de IRC (#rvm en freenode) - en este caso particular, ¿qué muestra "tipo rvm | head -n1" en ejecución? debería mostrar "rvm es una función". Si no, eso significa que la línea a la fuente rvm no se está ejecutando correctamente y, por lo tanto, el cambio no funciona. Por lo general, esto significa que tiene un retorno en su ~/.bashrc o que se olvidó de agregar la línea al rvm de origen.

+2

Ese comando dice "rvm es/usr/local/bin/rvm" en lugar de "rvm es una función", sin embargo, mi archivo .bashrc parece estar configurado correctamente según la guía de instalación. Aunque verifico el canal irc, gracias. –

+1

Fue un problema con mi .bashrc; ya que estaba en la raíz, lo instalé en una ubicación diferente a la que indicaban las instrucciones, y tuve que cambiar la línea de origen para reflejar eso. –

+0

¿Podría decirnos qué cambió en su archivo bashrc? – Lichtamberg

12

Su instalación es como cuenta de root. Pruebe esto en shell [[-s "/ usr/local/rvm/scripts/rvm"]] & &. "/ usr/local/rvm/scripts/rvm"

antes de la operación del interruptor rvm. Agrego esta línea en mi archivo de perfil y ahora todo está bien.

25

Acabo de encontrar el mismo problema.

en lugar de añadir el siguiente script para ~/.bash_profile, lo dejará ~/.bashrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

Y luego reiniciar el terminal.

+0

Poner eso en ~/.bashrc, y volver a cargar un shell también resolvió el problema para mí. – Grantismo

+1

@Shuo puede actualizar ese enlace o eliminar la publicación, va a un sitio alemán sobre b12 ... No estoy seguro de que sea lo que pretendía. – djowinz

0

Puede ser un problema de Terminal y debe intentar cerrar la ventana de su Terminal y abrir una nueva. :) Trate de nuevo para ver si ha cambiado ...

0

He estado luchando con la configuración por defecto de rubí RVM en vano, hasta que he intentado esto:

sudo bash -l -c 'rvm alias create default ruby-1.9.3-p392' 

"sudo "es para la escritura en /usr/local/RVM/config/alias (en mi ejemplo contendría "default = ruby-1.9.3-P392")
" fiesta -l "es para asegurarse de que ejecuta todos los scripts (/ etc/profile, /etc/bash.bashrc, etc.) del shell de inicio de sesión

Cuestiones relacionadas