Creación: 25-03-2011
Índice de contenidos
1.Introducción
2. Entorno
3. Instalando RVM
4. Instalando Ruby 1.9.2
4.1. Cómo volver al Ruby instalado en el sistema
4.2. Cómo definir el Ruby por defecto para todas las shells
5. Conclusiones
6. Sobre el autor
1. Introducción
Ya llevo mucho tiempo con Java, así que me tocaba salir un poquito de mi círculo de comodidad, en cuanto a lenguajes se refiere, así que me he puesto a estudiar un poquito de Ruby. Pero tranquilos y que nadie se ponga nervioso que no pienso abandonar mi
querido Java, que como bien decían los de Oracle en TheServerSide Las Vegas, todavía tenemos Java para por lo menos 20 años más 😉
A la pregunta de ¿por qué Ruby y no otro lenguaje? Podría contestar varias cosas:
- No quería aprender otro lenguaje de la JVM.
- Quería probar un lenguaje dinámico (de nuevo salir de otro de mis círculos de comodidad, ya que estoy acostumbrado a lenguajes fuertemente tipados como Java o C++).
- Y, reconozcámoslo, Ruby es el lenguaje de moda (lo siento Python 😉
Ruby 1.8.7 ya viene preinstalado en el Snow Leopard, pero ya puestos a aprender un nuevo lenguaje prefiero hacerlo con la última versión. No merece la pena empezar con un lenguaje y estar ya obsoleto el primer día, je je je. Así que en este tutorial vamos a
ver como instalar la versión 1.9.2 que es la última estable a día de hoy.
Para ello vamos a usar RVM (RubyVersion Manager). Esta es una estupenda aplicación de línea de comandos que nos permite gestionar, dentro de un mismo ordenador, varios entornos de intérpretes de Ruby y conjuntos de gemas (las gemas en Ruby podríamos decir que son como los JAR en Java).
De esta forma vamos a conseguir instalar la nueva versión de Ruby sin machacar la del sistema. De forma que en cada momento podemos trabajar con la que nos interese. Incluso podemos definir para cada proyecto un conjunto diferente de gemas, de forma que cada vez que trabajemos en un proyecto el conjunto de dependencias sea consistente con ese proyecto.
RVM también nos permite, por ejemplo, subir de versión una gema para hacer pruebas sobre como se comporta nuestro proyecto con esa nueva versión, y si no nos gusta podemos volver a atrás fácilmente.
Por todo esto RVM parece del todo imprescindible para un buen desarrollador de Ruby.
2. Entorno
El tutorial está escrito usando el siguiente entorno:
- Hardware: Portátil MacBook Pro 17′ (2.8 GHz Intel i7, 8GB DDR3 SDRAM, 256GB Solid State Drive).
- NVIDIA GeForce GT 330M with 512MB
- Sistema Operativo: Mac OS X Snow Leopard 10.6.7
- RVM 1.5.2
- Ruby 1.9.2 (o eso esperamos cuando acabemos este tutorial 🙂
3. Instalando RVM
RVM se puede instalar de varias formas, nosotros vamos a usar la menos intrusiva que es dentro de nuestro directorio home. Esta es la instalación recomendada, pero podemos ver más tipos de instalaciones en https://rvm.io/rvm/install
Prerrequisitos:
- Tenemos que tener instalado Xcode Tools Version 3.2.1 o superior. Si no lo tenemos podemos descargarlo de forma gratuita de http://developer.apple.com/,
simplemente tenderemos que registrarnos. Para ver la versión que tenemos instalada podemos hacer:$ xcodebuild -version
Abrimos un terminal, y en nuestro directorio home ejecutamos:
$ bash < <( curl -B
http://rvm.beginrescueend.com/install/rvm )
Esto nos instala en ~/.rvm
la última versión de RVM, sacada directamente del repositorio de GitHub (es la forma recomendada para tener siempre las últimas correcciones).
Ahora simplemente tenemos que cargar RVM en nuestras nuevas shells. Para ello modificamos el fichero ~/.bash_profile
, añadiendo al final del fichero la siguiente línea:
[[ -s "$HOME/.rvm/scripts/rvm"
]] && . "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Para comprobar que todo está correcto, abrimos una nueva shell y ejecutamos:
$ type rvm | head -1
Deberíamos ver:
rvm is a function
4. Instalando Ruby 1.9.2
Ahora es tan fácil como hacer:
$ rvm install 1.9.2
Y el solito se descargará la versión 1.9.2 de Ruby, y esta quedará bajo el control de RVM (aquí un poco de paciencia porque puede tardar un poquito en función de nuestra conexión a Internet).
Ahora le tenemos que decir que queremos usar la nueva versión (si ahora mismo hacemos ruby --version
, nos seguirá diciendo que tenemos la 1.8.7):
$ rvm use 1.9.2
Y ahora sí, si ejecutamos:
$ ruby --version
Veremos algo como:
ruby 1.9.2p180 (2011-02-18 revision
30909) [x86_64-darwin10.7.0]
Podemos pedirle al sistema que nos diga donde está el ejecutable de Ruby que se está usando:
$ which ruby
Y nos dirá algo como:
/Users/<nombre_usuario>/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
4.1. Cómo volver al Ruby instalado en el sistema
Si queremos volver a usar el Ruby que viene instalado por defecto en nuestro sistema, podemos hacer:
$ rvm system
Si ahora ejecutamos:
$ ruby --version
Nos dirá algo como:
ruby 1.8.7 (2009-06-12 patchlevel
174) [universal-darwin10.0]
Para saber donde está el binario que está usando, igual que antes hacemos:
$ which ruby
Y nos dirá algo como:
/usr/bin/ruby
4.2. Cómo definir el Ruby por defecto para todas las shells
Antes hemos cambiado la versión de Ruby que queremos usar, pero sólo en la shell activa. Si cuando hemos cambiado a la 1.9.2 hubiéramos abierto otra shell hubiéramos visto que seguíamos usando al versión que viene con el sistema.
Si queremos definir cual es la versión de Ruby para todas las
shells, tendremos que usar la opción –default, veamos un ejemplo:
$ rvm --default use 1.9.2
$ ruby --version
ruby 1.9.2p180 (2011-02-18 revision
30909) [x86_64-darwin10.7.0]
A partir de este momento todas las nuevas shells que abramos usaran la versión 1.9.2 de Ruby.
Como hemos cambiado la versión para todas las nuevas shells, si en algún momento queremos volver a usar la versión del sistema, podemos hacer:
$ rvm use system
$ ruby --version
ruby 1.8.7 (2009-06-12 patchlevel
174) [universal-darwin10.0]
Para ver cual es la versión por defecto de Ruby que tenemos definida:
$ rvm list default
Default Ruby (for new shells)
ruby-1.9.2-p180 [ x86_64 ]
Finalmente, si queremos volver a usar por defecto la versión de Ruby que viene con el sistema:
$ rvm reset
5. Conclusiones
Gracias a RVM es muy fácil instalar tantas versiones de Ruby como queramos, y tener distintos proyectos cada uno con una versión y un conjunto de gemas (librerías) diferente. Desde luego parece una herramienta indispensable si nos queremos dedicar a esto del Ruby, así que os recomiendo que os deis una vuelta por su página.
Y sobre todo, después de este artículo, recordaros que: No os durmáis, estar siempre despiertos y en movimiento. Eso implica estar constantemente aprendiendo, renovándonos, completándonos y sobre todo, saliendo de nuestros círculos de comodidad 😉
6. Sobre el autor
Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software) y Certified ScrumMaster
Socio fundador de Autentia (Desarrollo de software, Consultoría, Formación)
mailto:alejandropg@autentia.com
Autentia Real Business Solutions S.L. – «Soporte a Desarrollo»