
Ruby 1.9 ya está aquí. Y por lo que podemos ver en el changelog, hay muchas novedades respecto de la rama 1.8 que nos lleva acompañando desde el año 2003. Aunque creo que lo que casi todos estábamos esperando era poder usar YARV en producción :P
Si todavía no habías visto ninguna comparativa de rendimiento de las diferentes máquinas virtuales, te recomiendo que eches un vistazo a The Great Ruby Shootout.
Paso 0: Requisitos previos
Antes de seguir, es básico que tengamos instalado XCode, para lo cual o bien lo hacemos desde nuestro DVD de instalación de Leopard o bien nos vamos al Mac Dev Center de la Apple Developer Connection y nos lo bajamos.
Todo lo que vamos a escribir lo haremos en un terminal. Mi recomendación es usar iTerm, aunque hay gente que está más habituada a utilizar la propia applicación Consola. A vuestra propia elección.
Comienza la diversión ;)
Paso 1: Descarga de Ruby 1.9
Si no existiese, crearemos una carpeta src desde la que funcionaremos a lo largo de todo este tutorial:
mkdir ~/src
cd ~/src
A continuación procedemos a la descarga y desempaquetado de Ruby 1.9:
curl -O ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.9.1-p129.tar.bz2
tar xfj ruby-1.9.1-p129.tar.bz2
cd ruby-1.9.1-p129/
Ya estamos listos para compilar.
Paso 2: Compilación e instalación
Ya que en Leopard tenemos instalada una versión de Ruby 1.8, para no generar conflictos y poder funcionar con ambas versiones haremos que todos los binarios de Ruby 1.9 vayan con un 19 al final del nombre (ruby19, gem19, etc). Otra cosa que haremos es que todo Ruby 1.9 se instale dentro de /usr/local, para no mezclar estos binarios con los binarios propios del sistema:
autoconf
./configure --program-suffix=19 --prefix=/usr/local
Ya estamos listos para compilar:
make
Y por último, instalar:
sudo make install
Con esto ya tenemos Ruby 1.9 perfectamente operativo en nuestro sistema. Ahora nos tocará ir mirando con gem list las gemas que ya teníamos instaladas en el sistema y volverlas a instalar, esta vez usando gem19, por ejemplo sudo gem19 install rails.
¡A disfrutar!
elegante?
Afectadisimo: ¿A qué te refieres?
Bien, hecho. Y ahora qué? Es que de ruby solo sé el vídeo de presentación de 5 minutos que me miré hace ya dos años aprox. :-)
Robert: Ahora puedes mirarte la “Why’s (poignant) guide to ruby”, que es un libro-curso de Ruby en plan ameno, o apuntarte a alguno de los cursos (la gran mayoría gratuitos) que hay en RubyLearning.
aah perfecto. gracias. :-)
Hola Luis Mayoral.
Eso estuvo perfecto, agradezco infinitamente que hicieras alusión a este tema ya que es muy importante estar siempre actualizado.
Ahora quisiera que me quitaras una duda. Yo tengo un iMac con la versión 1.5.7 de Leopard y ya trae instalada Ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] de fabrica, pero al instalar Ruby 1.9.1 como le digo a TextMate que ejecute mis programas con la ultima versión instalada?
Gracias de antemano, un saludo.
IRSoft: Dentro de las preferencias, en Advanced -> Shell Variables, tienes que crear una nueva variable de nombre
TM_RUBYque apunte a donde hayas instalado Ruby 1.9. Si sigues este artículo debería ser algo como/usr/local/bin/ruby19.IRSoft: También tienes la opción de instalarlo sin el prefijo
19dentro de/usr/localy en la misma ventana de antes crear la variablePATHen la que el primer elemento sea/usr/local/bin. Esta segunda manera estoy completamente seguro de que te funcionará. La primera no estoy seguro.OK, lo probare y ya te diré, gracias por todo.
Gracias y hasta otra.
Hola Mayoral, de nuevo por aquí.
Te comento, solo he probado la primera opción que me das respecto a ejecutar con la versión 1.9 desde TextMate y no he tenido resultados, pero antes de probar la segunda opción quiero informarte de algo y preguntarte de paso.
Información:
Preguntas:
Disculpa si te doy la tabarra pero me encanta Mac OS X y me apasiona Ruby.
Gracias.
IRSoft: La 1.8.6 es la que te viene con el sistema, así que no tiene una manera fácil de desinstalar (ni tampoco es necesario).
A todos los efectos, si compilas e instalas la 1.9 sin indicar
--program-suffix=19y en tu PATH pones en primer lugar/usr/local/bin, lo que harías sería forzar a que la versión de Ruby que se ejecutase fuese la 1.9. Hay gente que utiliza stow un poco para este fin, para compilar versiones de un mismo paquete y activar una u otra en función de las necesidades.Sobre el tema del editor yo uso TextMate todo el tiempo. Si más que editor lo que quieres es un IDE, las recomendaciones irían o bien por NetBeans (libre y gratuito) o RubyMine (de pago). De este último he oído hablar muy bien a la gente.
Muchas gracias Mayoral, eres increíble.
Gracias.
Lo que pasa es que hice exactamente lo dijiste en el post anterior para instalar la versión 1.9 con el suffix=19 y PATH = /usr/local/bin. Pero tienes toda la razón al poner el PATH con la ruta donde tengo instalado el 1.9 ya estoy forzando a usar ese a la hora de ejecutar el programa.
A propósito yo estoy usando TexMate 1.5.7 que lo encontre en internet, sabes de alguna otra versión superior que pueda encontrar así mas o menos, ya sabes crackeada.
Gracias por todo