¿Cómo hacer que JRuby 1.6 sea predeterminado en Ruby 1.9?


79

¿Cuál es la mejor manera de hacer que JRuby se ejecute en modo 1.9 por defecto?

es decir, quiero correr en rake testlugar dejruby --1.9 -S rake test

Gracias

Respuestas:


109

Utilice la JRUBY_OPTSvariable de entorno. JRUBY_OPTScontiene una lista de argumentos que se agregan a cualquier argumento especificado en la línea de comando.

Por ejemplo (en Linux):

$ jruby -v
jruby 1.6.0.RC1 (nivel de parche 330 de ruby ​​1.8.7) (2011-01-10 769f847) (Java HotSp ...
$ exportación JRUBY_OPTS = - 1.9
$ jruby -v
jruby 1.6.0.RC1 (ruby 1.9.2 tronco 136) (2011-01-10 769f847) (Java HotSpot (TM ...
$ exportación JRUBY_OPTS = - 1.8
$ jruby -v
jruby 1.6.0.RC1 (nivel de parche 330 de ruby ​​1.8.7) (2011-01-10 769f847) (Java HotSpo ...

22

Una solución alternativa es poner la siguiente línea (y otras configuraciones) en su archivo ~ / .jrubyrc

compat.version=1.9

18

RVM permite ahora construir JRuby / Rubinius con el modo predeterminado establecido por defecto:

rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9

El sufijo -d19se puede omitir, lo uso solo para distinguir entre rubíes de modo 1.8 y 1.9 .

El --1.9modo se convertirá en el predeterminado en las próximas versiones principales de JRuby / Rubinius, por lo que puede asegurarse de usar 1.8 con el --1.8conmutador rvm.

ACTUALIZACIÓN 2012-05-25: Jruby 1.7.0.preview1 está fuera, ¡es 1.9 por defecto!


11

En Windows, utilice set JRUBY_OPTS=--1.9en su lugar.


8

Cuando se usa warbler para empaquetar una aplicación como un archivo war, la versión se puede configurar ejecutando:

warble config

que crea un config/warble.rbarchivo. Este archivo contiene muchos comentarios sobre cómo configurar Warbler, y en particular:

  # Set JRuby to run in 1.9 mode.
  # config.webxml.jruby.compat.version = "1.9"

Descomente la segunda línea eliminando el #y vuelva a empaquetar su guerra con el warblecomando.


6

Si está creando jruby desde java:

RubyInstanceConfig config = new RubyInstanceConfig();   
config.setCompatVersion(CompatVersion.Ruby1_9); 
Ruby runtime = Ruby.newInstance(config)

(Gracias a bbrowning en el canal #jrubyc irc)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.