Cambiar entre versiones de ruby con debian

by Gastón Ramos

Como desarrolladores muchas veces necesitamos cambiar entre versiones del interprete que estemos usando, en este caso ruby por ejemplo, debido que tenemos que seguir manteniendo aplicaciones que usan versiones no tan nuevas. Como todos sabemos existen varios programas que hacen esto por nosotros (como rvm); en debian hay forma mucho más simple de hacerlo:

La primer forma es usando ruby-switch que básicamente lo que hace es cambiar la versión de ruby actual para todo el sistema, por eso es necesario ser root:

Primero instalamos ruby-switch


apt-get install ruby-switch

Ahora vemos las versiones disponibles en nuestro sistema:


ruby-switch --list
ruby1.8
ruby1.9.1

en realidad el nombre del paquete de debian es ruby1.9.1 pero la version es la 1.9.3 si estamos en debian Wheezy.

Ahora veamos que version estamos usando:


ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]

Supongamos que queremos cambiar a 1.8


sudo ruby-switch --set ruby1.8
update-alternatives: using /usr/bin/ruby1.8 to provide /usr/bin/ruby (ruby) in manual mode.
update-alternatives: using /usr/bin/gem1.8 to provide /usr/bin/gem (gem) in manual mode.

Bueno esa fué una forma fácil de cambiar entre versiones de ruby a nivel de sistema (para todos los usuarios), si necesitamos cambiar la versión de ruby pero sólamente para nuestro usuario podemos usar rbenv que lo tenemos disponible en debian:


apt-get install rbenv

También podemos listar las versiones disponibles:


rbenv versions
  1.8.7-debian
* 1.9.3-debian (set by /home/gramos/.rbenv/global)

y si queremos pasar a usar 1.8:


rbenv global 1.8.7-debian

Esto fué todo, espero que les haya sido útil.