Mi guía de bolsillo RVM para creación de gemset y gestionar distintas versiones de Rails o Ruby


Sospechosamente humanoAlgo muy sencillo, pero que se puede pasar por alto, es el utilizar de una forma eficiente RVM. Yo he utilizado RVM sin más, dejando un poco de lado alguna peculiaridades muy interesantes que podemos aplicar en nuestros proyectos y que nos permite disponer de distintas versiones de Ruby o de Rails en el mismo equipo. La ventaja está clara, disponer de distintas versiones en las que podamos trabajar en varios proyectos dentro de nuestra misma máquina de desarrollo, esto nos puede evitar quebraderos de cabeza en un futuro no muy lejano seguro.

Un tema muy interesante de RVM, es que permite crearnos o definirnos lo que se llaman gemsets. Los gemsets en definitiva son, por así decirlo, un conjunto de gemas que los incorporamos para una versión de Ruby y  están aislados entre ellos, es decir, si tenemos 2 proyectos y cada uno con una versión distinta, no vamos a tener conflictos entre ellos con total seguridad. Por tanto, es mas que recomendable, definirnos un gemset para cada proyecto que estemos trabajando.

Veamos algunos comandos interesantes, como la creación y uso de los gemset. Una característica que tenemos que tener en cuenta a la hora de crearnos un gemset, es que los va a crear siempre, a no ser que le digamos lo contrario,  con la versión por defecto. Para saber los que tenemos creados y dónde está apuntando el que es por defecto, haremos:

# rvm gemset list nos proporciona la lista de gemset creados y los dirá el que está por defecto y así sabremos la versión.

Pues ahora haremos la creación de uno nuevo para nuestro proyecto:

# rvm gemset create miGemset

Para utilizar un gemset que ta tenemos creado:

# rvm gemset use miGemset

Ahora bien, si necesitamos especificar la versión de ruby y el gemset al que queremos cambiar:

# rvm gemset use version@miGemset

Bueno, llegados a este punto, pensé que realizar esta práctica era buena y lo es, pero tiene una pequeña desventaja y es que cada vez que cambiamos de proyecto debemos cambiar de gemset y esto así tal cual puede ser un poco pesado. Hay una solución y es automatizarlo mediante el uso del fichero .rvmrc en la raíz de cada proyecto. Pero ¿qué necesitamos poner en este fichero? pues lo que yo he puesto es lo siguiente:

  • Creamos el directorio de cada proyecto el .rvmrc y nos situamos dentro del directorio.
  • Abrimos un editor de ficheros a criterio personal de cada uno, yo utilizo en estos casos tan sencillos vi.
  • En modo edición ponemos la línea siguiente:

                                              rvm –create use default@miProyecto > /dev/null

  • Guardamos el fichero

Cuando salgamos y volvamos a entrar dentro del directorio ya lo tenemos en marcha.

¿Qué ventaja tenemos el utilizar esto frente a hacerlo de forma manual?

  • Nos ahorramos algunos pasos y así de una forma automática ya disponemos del gemset de miProyecto.
  • En el caso de que no lo tengamos creado el gemset, lo creará automáticamente cuando pasemos al proyecto.

Pues eso es todo, ahora el aplicar la práctica de definir un gemset para cada proyecto con el que trabajamos, es algo que debes decidir. Si encuentras algo que mejorar o comentar, ya sabes….

2 comentarios en “Mi guía de bolsillo RVM para creación de gemset y gestionar distintas versiones de Rails o Ruby

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