Implicaciones de instalar Ruby 1.9.1

Hola gente.

Me gustaría probar el nuevo Ruby …

He visto esto:

http://luismayoral.com/destacados/instalando-ruby-19-en-mac-os-x

No parece difícil, excepto por el rollo de tener que instalar todas
las gemas con el gem19… (Si alguien conoce un link mejor/más actual
que me lo diga)

Pero me da miedo que vaya a tener alguna implicación con las
aplicaciones rails que tengo en desarrollo.

Veo en el environment.rb que le indicas la versión de Rails a usar…
pero ¿y la versión de ruby? ¿dónde se lo dices?.. pues quiero que
algunas aplicaciones sigan usando la versión de ruby anterior… y
otras la nueva.

Seguro que me he salido con un offtopic… pero no estoy seguro.

f.

El 4 de junio de 2009 5:12, Fernando G.
[email protected]escribió:

He visto esto:

http://luismayoral.com/destacados/instalando-ruby-19-en-mac-os-x

No parece difícil, excepto por el rollo de tener que instalar todas
las gemas con el gem19… (Si alguien conoce un link mejor/más actual
que me lo diga)

Para poder usar Ruby 1.9 en Mac también puedes optar por instalarlo vía
macports (http://www.macports.org/), o compilarlo e instalarlo
utilizando
stow (Stow - GNU Project - Free Software Foundation).

Pero me da miedo que vaya a tener alguna implicación con las
aplicaciones rails que tengo en desarrollo.

Te encontrarás con gemas que utilizabas con Ruby 1.8 que no funcionan
todavía con Ruby 1.9. Un buen sitio para ver si las gemas que usas son
compatibles con Ruby 1.9 es http://isitruby19.com/.

Veo en el environment.rb que le indicas la versión de Rails a usar…
pero ¿y la versión de ruby? ¿dónde se lo dices?.. pues quiero que
algunas aplicaciones sigan usando la versión de ruby anterior… y
otras la nueva.

Si usas Passenger, con la directiva PassengerRuby indicas el intérprete
Ruby
que quieres utilizar a nivel global, con lo cual si todas tus
aplicaciones
están en el mismo servidor no podrás tener algunas con un intérprete y
otras
con el antiguo.

Salu2

On Jun 4, 2009, at 5:12 AM, Fernando G. wrote:

No parece difícil, excepto por el rollo de tener que instalar todas
las gemas con el gem19… (Si alguien conoce un link mejor/más actual
que me lo diga)

Aunque no he terminado instalar todas las gemas, multiruby de zentest
es una heramienta chula para tener mas que una version de ruby
instalada:

http://blog.zenspider.com/2007/12/testing-for-ruby-18-and-19-usi.html

http://drnicwilliams.com/2008/12/11/future-proofing-your-ruby-code/

http://afreshcup.com/2009/05/24/building-rails-with-cerberus-and-multiruby/

Pero me da miedo que vaya a tener alguna implicación con las
aplicaciones rails que tengo en desarrollo.

Veo en el environment.rb que le indicas la versión de Rails a usar…
pero ¿y la versión de ruby? ¿dónde se lo dices?..

Si usas ‘script/*’ saca la ruby por defecto ‘/usr/bin/env ruby’ del
bang del bash script. Esto suele ser ‘/usr/bin/ruby’ que es un enlace
simbolico a la ruby 1.8 de MacOSX

Cambiando la orden de tu PATH para poner /opt/local/bin/ (o donde sea)
antes de y linkando /opt/local/bin/ruby1.9 a /opt/local/bin/ruby
debería darte por defecto 1.9

Anwyay, por ahí deberias ir tirando. Hay mas detalle, pero no es muy
difícil averiguar.

-christos

Hola Luis,

El día 4 de junio de 2009 10:04, Luis M. [email protected]
escribió:>

Para poder usar Ruby 1.9 en Mac también puedes optar por instalarlo vía
macports (http://www.macports.org/), o compilarlo e instalarlo utilizando
stow (Stow - GNU Project - Free Software Foundation).

La idea de instalarlo desde ports me gusta más :slight_smile:

Pero me da miedo que vaya a tener alguna implicación con las
aplicaciones rails que tengo en desarrollo.

Te encontrarás con gemas que utilizabas con Ruby 1.8 que no funcionan
todavía con Ruby 1.9. Un buen sitio para ver si las gemas que usas son
compatibles con Ruby 1.9 es http://isitruby19.com/.

Genial… apuntado.

con el antiguo.
Okei… en realidad es sólo para mis entorno de desarrollo… quiero ver
como se comportan algunas aplicaciones con 1.9.1 y luego sopesar la
idea de instalar esta versión de ruby en el servidor de
producción.
f.

El día 4 de junio de 2009 11:22, Christos Z.
[email protected]
escribió:>

http://blog.zenspider.com/2007/12/testing-for-ruby-18-and-19-usi.html

http://drnicwilliams.com/2008/12/11/future-proofing-your-ruby-code/

http://afreshcup.com/2009/05/24/building-rails-with-cerberus-and-multiruby/

Es genial la idea pero tiene pinta de ser un poco liosa de usar… por
ejemplo, de esto:

$ rake

Pasa a esto:

$ multiruby -w -Ilib:ext:bin:test -e ‘require “test/test_autotest.rb”;
require “test/test_help.rb”; require “test/test_rails_autotest.rb”;
require “test/test_rails_controller_test_case.rb”; require
“test/test_rails_helper_test_case.rb”; require
“test/test_rails_view_test_case.rb”; require “test/test_unit_diff.rb”;
require “test/test_zentest.rb”; require
“test/test_zentest_assertions.rb”; require
“test/test_zentest_mapping.rb”; require “test/unit”’

WTF

Además yo no quiero correr un comando en todas las versiones de ruby…
yo quiero activar una versión de ruby en concreto globalmente y luego
funcionar cómo si sólo tuviera esa versión de ruby instalada…

Cuando me canse… activo la otra y a correr.

No creo que pueda funcionar bien a través de un comando wrapeador como
multiruby pues hay muchos casos que no sé quién está haciendo la
llamada a ruby… por ejemplo cmd+r en TextMate…

Cambiando la orden de tu PATH para poner /opt/local/bin/ (o donde sea)
antes de y linkando /opt/local/bin/ruby1.9 a /opt/local/bin/ruby
debería darte por defecto 1.9

Anwyay, por ahí deberias ir tirando. Hay mas detalle, pero no es muy
difícil averiguar.

Creo que por aquí está el rollo… cambiar el enlace de ruby de una
versión a otra… voy a ver si esto funciona.

Gracias Christos

f.

2009/6/4 Fernando G. [email protected]

Además yo no quiero correr un comando en todas las versiones de ruby…
yo quiero activar una versión de ruby en concreto globalmente y luego
funcionar cómo si sólo tuviera esa versión de ruby instalada…

El objetivo no es ese.

El objetivo es ejecutar los tests en los diferentes entornos, jruby ruby
1.8
y ruby 1.9 (por ejemplo). Si el resultado de los tests/features es el
mismo… (y no tienes malos tests) es muy probable que no haya
incompatibilidades.

Personalmente creo que es prematuro pensar en migrar a 1.9, ya no por tu
código, sino por el de los plugins, donde se suele usar bastante
multiruby
para probar que una gema funciona en los diferentes entornos.

El día 4 de junio de 2009 16:28, Guillermo [email protected]
escribió:> y ruby 1.9 (por ejemplo). Si el resultado de los tests/features es el

mismo… (y no tienes malos tests) es muy probable que no haya
incompatibilidades.

Oki, ese es el objetivo de multiruby no el mío… yo sólo quiero
cacharrear un poquito, sentir en sabor del nuevo ruby a ver… aunque
sea por un momento.

Personalmente creo que es prematuro pensar en migrar a 1.9, ya no por tu
código, sino por el de los plugins, donde se suele usar bastante multiruby
para probar que una gema funciona en los diferentes entornos.

Como digo no estoy pensando en migrar… sólo cacharrear.

He instalado la 1.9 mediante ports.

No parece haber roto nada, es bastante respeturoso… ha instalado:

$ ruby1.9
$ gems1.9
$ irb1.9

Los viejos comandos parece que siguen funcionando sin problemas

He hecho una prueba, no con una aplicación rails sino con una
aplicación desktop hecha con gosu… y el incremento de rendimiento es
alarmante :O… 200%, de 30 frames por segundo a 60… tal cual.

Gratamente impresionado.

Cuando esté todo listo para migrar una aplicación rails a ruby1.9 va a
ir como la seda.

f.