Quienes no estén familiarizados con el desarrollo de software pueden sorprenderse de cuántas áreas grises puede haber. Incluso si sabe que quiere escribir, por ejemplo, una aplicación de Rails, tiene que tomar varias decisiones más específicas. ¿Qué base de datos debería usar? ¿Qué versión de Ruby? ¿Qué gemas se deben instalar? ¿Entrará en conflicto con otras versiones de Ruby o conjuntos de gemas? RVM, el Ruby Version Manager, puede encargarse de eso. RVM le permite instalar, administrar y cambiar entre versiones de Ruby sobre la marcha para que pueda desarrollar y probar software en múltiples versiones de Ruby sin problemas. Esta guía le mostrará cómo instalar RVM en Ubuntu y usarlo para administrar su entorno Ruby.
Nota: Este no es un artículo de «Cómo codificar Ruby», solo trata sobre el uso de RVM para administrar sus instalaciones de Ruby.
Cómo funciona
La configuración de RVM más común es algo así: un usuario instala RVM como una aplicación, ya sea en todo el sistema o dentro de su hogar. A través de RVM, las versiones de Ruby elegidas por el usuario se instalan automáticamente en el hogar de ese usuario. Usando los comandos RVM, el usuario especifica qué versión le gustaría tener activa en un momento dado. Todas las llamadas realizadas a Ruby durante ese tiempo se enrutan al ejecutable de Ruby apropiado y se ejecutan normalmente. No hay virtualización ni envoltorios complejos ni chroots de los que preocuparse, actúa más o menos como una serie inteligente de enlaces simbólicos y variables de entorno que dirigen todas las llamadas de Ruby a la versión elegida.
Instalación
Primero necesitamos algunos requisitos previos. Su instalación estándar de Ubuntu debería contener gran parte de lo que se necesita, pero es posible que falten algunos paquetes necesarios. Para compilar RVM correctamente, instale los siguientes paquetes desde el Centro de software de Ubuntu o desde la línea de comandos con:
sudo apt-get install git build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev
Esto prepara nuestro sistema para compilar e instalar correctamente RVM y Ruby. No necesitaremos hacer la rutina habitual de configuración/creación en este, ya que RVM en realidad incluye un script de compilación simple que debería hacer el trabajo por usted. Una vez que todas las dependencias anteriores estén instaladas, ejecute lo siguiente desde la línea de comando:
bash < <( curl https://rvm.beginrescueend.com/releases/rvm-install-head )
Esto buscará la fuente y entregará un buen mensaje del desarrollador de RVM.
Agregar una versión de Ruby
En este punto, tiene RVM pero no tiene una instalación de Ruby utilizable para ejecutarlo. Hacer que RVM instale uno es tan simple como un solo comando de shell. Para el primer ejemplo, instalaremos la versión estable 1.8.7 desde la fuente con un comando RVM:
RVM se encargará de todo el proceso, incluida la configuración, la compilación y la instalación de RubyGems.
Posterior a la instalación
Una vez completado, hay un poco de configuración del entorno que tenemos que hacer. Para que RVM pueda interceptar correctamente las llamadas de Ruby, debemos agregar la siguiente línea a .bashrc o .bash_profile:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Reinicie su caparazón y debería surtir efecto. Para probar, simplemente ingrese
Que debería responder con «rvm es una función». Si no, algo está roto a lo largo de la línea.
Gestión de versiones de Ruby
Ahora que todo está configurado, ¡podemos usar RVM! Suponiendo que haya instalado la versión 1.8.7 como en el ejemplo anterior, se puede seleccionar con
RVM debería darle una respuesta confirmando su elección y mostrándole la ubicación del ejecutable de Ruby. Esto se puede verificar más tarde usando el sistema estándar que comando.
Se pueden instalar versiones adicionales de la misma manera, y las gemas se pueden agregar y eliminar de las versiones de RVM exactamente como lo harían en una instalación normal de Ruby en el sistema. Puede elegir su versión sobre la marcha para asegurarse de que su aplicación funcione según lo previsto sin preocuparse por los conflictos y los desajustes del entorno. ¡Disfrutar!