Desarrollando en Ruby usando RVM

Al momento de desarrollar usando Ruby como lenguaje, surge a veces el incoveniente de trabajar con versiones diferentes a las que se maneja en produccion, para ello existe una solucion, usar RVM (Ruby Version Manager) que permite manejar diferentes versiones de Ruby, asi como mantener distintas “instancias” donde instalar las gemas de manera independiente. Algo muy similar al virtualenv usado en Python. (En otro articulo hablo un poco mas sobre virtualenv)

Instalacion

Lo primero que debemos ver, son los requisitos para poder instalar el paquete, necesitaremos tener git y curl instalado.

pacman -S git curl

Luego procedemos a descargar el paquete mediante curl (notar que estamos instalando la version mas estable de RVM).

curl -L get.rvm.io | bash -s stable

O si queremos descargar solo el script y luego procedemos a instalarlo:

$ curl -L get.rvm.io > rvm-install
$ chmod +x rvm-install
$ ./rvm-install

Luego tenemos que agregarlo al .bashrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Luego de todo esto, y si hicimos los pasos correctos, ya tenemos hemos instalado correctamente rvm, para verificarlo solo basta con:

$ rvm notes

Y saldran todas las caracteristicas de la instalacion.

Instalacion de Ruby

Hasta ahora solo hemos instalado el rvm pero aun no tenemos Ruby instalado, para ver la lista de enviroments disponibles en rvm usamos el siguiente comando:

$ rvm list known

Ahora procedemos a instalar Ruby

$ rvm install <version_ruby>

Podemos reemplazarlo por cualquier version, por ejemplo:

$ rvm install 1.9.2

Luego usamos la version de Ruby

$ rvm use 1.9.2

Ahora ya tenemos la version deseada de Ruby y podemos usarla:

$ ruby --version

Y podemos instalar otra version, y cambiarlo sin problemas. Toda la configuracion se guarda en carpetas independientes dentro de ~/.rvm.

Gemsets

Ahora que podemos manejar varias versiones de Ruby, tambien necesitamos tener “instancias” separadas para las gemas. Dichas instancias se denominan: Gemsets.

Para crearlo debemos seleccionar la version de Ruby que usaremos y luego ejecutar el comando correspondiente:

$ rvm use <ruby_version>
$ rvm gemset create <gemset_name>

Luego seleccionamos el Gemset a usar:

$ rvm use <ruby_version>@<gemset_name> --default

O tambien podemos crearlo y usarlo directamente:

$ rvm use <ruby_version>@<gemset_name> --create

Una vez seleccionado el Gemset a utilizar, podemos instalar las gemas que necesitemos, y cambiar de Gemset las veces que necesitemos y con la version de Ruby que querramos, manteniendo una independencia de codigo, y permitiendo manejar diferentes versiones para proyectos diferentes.

Bonus Track

Hay algunos comandos utiles de rvm que necesitaremos:

Nombre del Gemset actual

$ rvm gemset name

Lista de todos los Gemset disponibles para la actual version de Ruby

$ rvm gemset list

Lista de todos los Gemset disponibles todas las versiones de Ruby

$ rvm gemset list_all

Actualizando

$ rvm get latest
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s