¿Cuál es la mejor manera de hacer que JRuby se ejecute en modo 1.9 por defecto?
es decir, quiero correr en rake test
lugar dejruby --1.9 -S rake test
Gracias
Utilice la JRUBY_OPTS
variable de entorno. JRUBY_OPTS
contiene 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 ...
Una solución alternativa es poner la siguiente línea (y otras configuraciones) en su archivo ~ / .jrubyrc
compat.version=1.9
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 -d19
se puede omitir, lo uso solo para distinguir entre rubíes de modo 1.8 y 1.9 .
El --1.9
modo 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.8
conmutador rvm.
ACTUALIZACIÓN 2012-05-25: Jruby 1.7.0.preview1 está fuera, ¡es 1.9 por defecto!
En Windows, utilice set JRUBY_OPTS=--1.9
en su
lugar.
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.rb
archivo. 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 warble
comando.
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)