Cómo administrar sus versiones de Ruby

Ruby ha cambiado con el tiempo

Ruby ha estado en constante desarrollo desde la década de 1990. Y como muchos idiomas, ha habido cambios de sintaxis en las versiones. Esto significa que es importante tener claro qué versión de Ruby espera su código.

Probablemente el cambio más visible se produjo con Ruby 1.9. Anteriormente, escribimos hashes como este:

 { :one => 1, :two => 2, :three => 3 }

Este uso del operador 'hashrocket' ( =>) era tan común que Ruby 1.9 proporcionó una abreviatura:

 { one: 1, two: 2, three: 3 }

Este código anterior se ejecutará en cualquier versión, pero la sintaxis más nueva solo se ejecutará en Ruby 1.9+.

¿Cómo causa esto problemas?

Por ejemplo, es posible que haya decidido utilizar una gema que se basa internamente en las funciones de Ruby 1.9. Esto significa que su proyecto ahora también se basa en las funciones de Ruby 1.9.

Si no especifica qué versión de Ruby necesita su proyecto, puede resultar muy confuso cuando el código funciona en una máquina, pero no en otra.

Como ocurre con la mayoría de los lenguajes, se considera una buena práctica especificar la versión de Ruby que espera su código. Esto hace que sea mucho más fácil administrar varios proyectos en su máquina de desarrollo, cada uno esperando una versión diferente de Ruby.

¿Cómo especifico mi versión de Ruby?

Hay un par de herramientas que son populares para esto, pero ambas han acordado compartir un archivo común. Muchos proyectos de Ruby (o Rails) incluirán un .ruby-versionarchivo simple , que simplemente especifica un número de versión, por ejemplo:

2.4.2

Las herramientas populares para ayudarlo a administrar su versión de Ruby son:

  • Administrador de versiones de Ruby (RVM)
  • rbenv

Veamos RVM.

Usando RVM

RVM generalmente se instala (enlace) en una máquina Linux, Unix o MacOS. Es muy conveniente porque se conecta al comando cd( change directory). Por lo tanto, cuando se .ruby-versioncambia a un nuevo proyecto, se lee automáticamente y se cambia automáticamente a la versión correcta de Ruby antes de comenzar a trabajar.

Por ejemplo, puede tener esta secuencia:

% cd ~/projects/older-project % ruby --version ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-darwin16] % cd ~/projects/newer-project % ruby --version ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]

(Estos ejemplos son de una máquina MacOS).

Otra información sobre Ruby:

  • Introducción a la programación orientada a objetos con Ruby
  • Los métodos de matriz de Ruby más comunes que debe conocer