2009-11-03 11 views
9

La semana pasada completé con éxito la transición de todas nuestras aplicaciones de empresa de Ruby 1.8.6 a Ruby 1.8.7, incluidas las configuraciones locales y remotas. A partir de ahora, el desarrollo no tendrá que garantizar la compatibilidad con versiones anteriores de Ruby 1.8.6.¿Alguien ha implementado con éxito un proyecto de Rails con Ruby 1.9.1?

En aras de la curiosidad, traté de ejecutar el conjunto de prueba de un par de proyectos contra Ruby 1.9.1. Como era de esperar, encontré algunos problemas relacionados con la codificación, pero me sorprendió mucho cuando descubrí incompatibilidades de bajo nivel, como un error conocido de Rack :: Link. En este punto, la idea de mover el desarrollo a Ruby 1.9.1 simplemente no es aplicable.

Me preguntaba si alguien ha implementado con éxito un proyecto de Rails con Ruby 1.9.1. ¿Qué versión de Ruby usas para tus proyectos de Rails? ¿Estás planeando actualizar a una versión más reciente?

Respuesta

10

Matz habló recientemente en RubyFoo en Londres sobre la adopción de ruby ​​1.9.1. Simplemente, ruby ​​1.9.1 no está listo para producción y no debería usarse para implementación aún.

Ruby 1.9.2 estará listo para la producción, pero hasta entonces solo deberías usar ruby ​​1.9.1 para jugar y probar.

Aunque muchas personas han tenido implementaciones exitosas usando 1.9.1, recomendaría seguir con REE 1.8.7 hasta que se haya agotado 1.9.2. Rails 3.0 favorecerá 1.9.2, pero también funcionará bastante feliz con 1.8.7 (NO funcionará con 1.8.6).

+1

MHO, el problema no es el propio Ruby sino GEMS y las bibliotecas disponibles :(. De mis pruebas, Ruby 1.9.1 parece ser bastante sólido. –

+0

Sí, las gemas son un problema, pero el sitio isitruby19.com ayuda con eso. Matz también dijo que algunas cosas cambiarán entre 1.9.1 y 1.9.2, por lo que 1.9.1 es un problema en mi opinión, es no es tan simple como decir que es una cuestión de gemas. –

1

Sin conversión a Ruby 1.9.1 hecho aquí. Tiendo a ser conservador con la actualización. Para el trabajo de producción me gusta seguir con el probado & cosas probados. Además, en mi humilde opinión 1.9.1 es agradable y asegurarse de que mantenga sus versiones de dependencia actualizadas es un buen hábito. Desarrollarse en el borde sangrante puede ser doloroso a veces, como habrás notado. Es más seguro mantener una versión detrás del borde sangrante si no quiere encontrarse con este tipo de problemas.

+2

yo no lo llamaría Rubí 1.9.1 borde de sangría. Fue lanzado hace más de 9 meses y la vista previa de Ruby 1.9.2 ya está disponible. :) –

+0

La combinación de Ruby 1.9 con Rails sigue siendo el límite. Rails puede manejarlo, pero el ecosistema de plugins Rails es enorme y no todos los complementos se han actualizado aún. Incluso hay un sitio para rastrear esos problemas: http://isitruby19.com/ –

1

También no 1.9.1 aquí. Por mucho que me da pena decirlo, simplemente esperaremos que las 37 señales lo hagan primero.

Una vez que aquellos con derechos de compromiso lo hacen, los errores se resolverán mucho más rápido.

5

Gitorious es un proyecto de Rails bastante grande y complejo con una gran cantidad de usuarios. Gitorious funciona bien tanto en Ruby 1.8 como en Ruby 1.9, pero la instalación más grande de Gitorious, que es Gitorious.Org, ha estado funcionando exclusivamente con Ruby 1.9 y YARV desde hace bastante tiempo. (Al menos desde mayo, creo).

Y la mejor parte es, por supuesto, que no es solo de código abierto sino un verdadero proyecto abierto con lista de correo abierta, abrir bugtracker y abrir repository, para que pueda ver exactamente cómo lo hicieron y cuánto trabajo fue.

2

Pasé un día mirando la viabilidad de esto y voy a esperar un poco más.

Tal como está, puede hacer que las cosas funcionen en su mayoría, pero hay algunas soluciones espantosas que tendrá que poner en marcha para que las cosas funcionen.

  1. La gema MySQL (versión 2.8.1) devuelve todas las cadenas en la codificación ASCII, esto significa que causa problemas cuando se inicia añadiendo en sus vistas que tienes todo tipo de errores desagradables.Hay un trabajo alrededor pero se trata de la compilación de la joya con parches ver: Encoding problems in rails on ruby 1.9.1
  2. necesita forzar codificación UTF-8 globalmente usando hacks o env vars
  3. pasajeros 2.2.7 tiene problemas debido a un error en Rubí archivo temporal, así que tienes que hackear en la fuente: Ruby 1.9.1-p234, Passenger 2.2.5, Rails 2.3-stable closed stream on POST request
  4. Algunas gemas simplemente no funcionan en absoluto.

Por mucho que me gustaría el impulso Potencia, creo que es un poco demasiado punta de lanza en este momento, es probablemente una buena idea esperar hasta mediados de principios de 2010

+0

Última frase resume perfectamente mi pensamiento. –

Cuestiones relacionadas