Cómo instalar RVM y administrar versiones de Ruby en un solo host

Ruby

Ruby está de moda, desde hace tiempo, y se emplea en las recetas de Puppet… pues a darle a Ruby, a las gemas y a las distintas versiones que haya.

Para manejar distintas versiones de Ruby en un mismo host, como puede ser tu equipo Windows, Mac, Linux… nada como RVM. Proyecto abierto que permite hacer lo que dicen sus siglas en inglés: Ruby Version Manager. Más claro agua.

RVM es una herramienta de línea de comandos que permite gestionar varias versiones de Ruby en un solo host, múltiples entornos de intérpretes y gemas.

En una de máquina virtual con CentOS que tengo para este tipo de pruebas y desarrollos es donde centro la instalación, pero en la misma web de RVM podéis ver cómo instalarlo en Windows, Mac OS X con instaladores o para otras distribuciones Linux.

Instalar la última versión estable de RVM

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

Una vez instalado, cargar la configuración básica de RVM

# source /etc/profile.d/rvm.sh

Cerramos la sesión del usuario, volvemos a hacer login y ejecutamos una sencillo test para comprobar que todo está instalado:

# type rvm | head -n 1

y devuelve:
rvm: es una función

Probar que RVM funciona pidiendo un listado de las versiones de Ruby disponibles:

# rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p484]
[ruby-]2.0.0-p195
[ruby-]2.0.0[-p353]
[ruby-]2.1.0
[ruby-]2.1.0-head
ruby-head
...

Instalar una versión de Ruby concreta, Ruby 2.1.0

# rvm install 2.1.0

Usar una versión de Ruby

# rvm use 2.1.0
Using /usr/local/rvm/gems/ruby-2.1.0

Comprobar la versión en uso de Ruby

# ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]

Localizar el binario de Ruby que ejecutamos

# which ruby
/usr/local/rvm/rubies/ruby-2.1.0/bin/ruby

Opcionalmente podemos establecer la versión por defecto de Ruby, pero no sobreescribirá la que tengamos en el sistema como por defecto:

# rvm use 2.1.0 —default

Ya lo tenemos… pues a disfrutar de las recetas de Ruby y su potencial.

Saludos