Ruby Version Manager (RVM)

Cómo gestionar distintas versiones de Ruby y listas de gems

ruby-version-manager-rvm

RVM es una herramienta de línea de comandos (principalmente linux) que permite instalar y gestionar fácilmente múltiples versiones de Ruby al mismo tiempo y distintas listas de gems.

Para instalarlo antes debemos instalar la aplicación CURL si aun no la tenemos:

Terminal
sudo apt-get install curl

Curl servirá para descargar la última versión de rvm con el siguiente comando:

Terminal
curl -sSL https://get.rvm.io | bash -s stable

Luego ejecutamos:

Terminal
source /home/myuser/.rvm/scripts/rvm

Para ver que funciona correctamente escribimos:

Terminal
rvm use

Y deberíamos ver el texto: Now using system ruby.

  • Atención: Al abrir una nueva consola, es posible que al usar rvm use nos aparezca el siguiente texto:
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal emulator preferences to allow login shell. Sometimes it is required to use \`/bin/bash --login\` as the command. Please visit https://rvm.io/integration/gnome-terminal/ for an example.

Para solucionarlo podemos editar el archivo .bashrc en nuestra carpeta home, /home/miusuario/.bashrc y añadir la instrucción al final del archivo:

Terminal
source /home/myuser/.rvm/scripts/rvm

Instalando versiones de Ruby

Ahora que a hemos instalado RVM ya podemos proceder a instalar diferentes versiones de Ruby. Para ver las versiones disponibles de Ruby podemos ejecutar la instrucción:

Terminal
rvm list known

Podemos instalar una versión concreta, pero si queremos instalar la última versión estable ejecutamos:

Terminal
rvm install ruby-head

Esto tardará un poco porque descargará y compilara la versión seleccioanda y sus dependencias.

Una vez terminada la instalación de Ruby, podemos ejecutar:

Terminal
rvm list

Y nos aparecerá la versión instalada. Ahora crearemos una lista de Gems:

Terminal
rvm gemset create myGemsList

Con este comando veremos que se ha creado correctamente nuestra lista de gems

Terminal
rvm gemset list

Si nos fijamos la lista que hemos creado no está seleccionada por defecto. Para ello podemos usar

Terminal
rvm gemset use myGemsList

Ahora podemos instalar las gems que queramos con la instrucción gem install ...

Usar una versión de Ruby y un gemset por defecto al entrar a un directorio

Normalmente, como para cada proyecto usaremos una versión de ruby y una lista de gems concreta, nos interesará que al entrar al directorio automáticamente pasemos a usar esas configuraciones.

Para ello ejecutaremos el comando:

Terminal
rvm --ruby-version use ruby-head@myGemsList

Se crearán dos archivos .ruby-gemset y .ruby-version con la información de las versiones a usar de modo que si cerramos la consola y volvemos a acceder al directorio, veremos que ya se están usando las versiones especificadas:

Terminal
rvm list
rvm gemset list