Каков наилучший способ заставить JRuby работать в режиме 1.9 по умолчанию?
i.e, я хочу запустить rake test
вместо jruby --1.9 -S rake test
Спасибо
Каков наилучший способ заставить JRuby работать в режиме 1.9 по умолчанию?
i.e, я хочу запустить rake test
вместо jruby --1.9 -S rake test
Спасибо
Используйте переменную среды JRUBY_OPTS
. JRUBY_OPTS
содержит список аргументов, которые добавляются к любым аргументам, указанным в командной строке.
Например (в Linux):
$ jruby -v jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSp... $ export JRUBY_OPTS=--1.9 $ jruby -v jruby 1.6.0.RC1 (ruby 1.9.2 trunk 136) (2011-01-10 769f847) (Java HotSpot(TM... $ export JRUBY_OPTS=--1.8 $ jruby -v jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSpo...
Альтернативное решение - поместить следующую строку (и другие настройки) в файл ~/.jrubyrc
compat.version=1.9
RVM позволяет теперь строить JRuby/Rubinius со стандартным режимом, установленным по умолчанию:
rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9
Суффикс -d19
может быть опущен, я использую его только для различия между режимами 1,8 и 1,9.
Режим --1.9
станет стандартным в следующих основных выпусках JRuby/Rubinius, поэтому вы можете использовать 1,8 с переключателем --1.8
rvm.
ОБНОВЛЕНИЕ 2012-05-25: Jruby 1.7.0.preview1 отсутствует, по умолчанию это 1.9!
В Windows используйте
set JRUBY_OPTS=--1.9
.
При использовании warbler для упаковки приложения в качестве военного файла, версию можно установить, выполнив:
warble config
который создает файл config/warble.rb
. Этот файл содержит много комментариев о том, как настроить камышевки, и в частности:
# Set JRuby to run in 1.9 mode.
# config.webxml.jruby.compat.version = "1.9"
Раскомментируйте вторую строку, удалив #
и повторно упакуйте свою войну с помощью команды warble
.
Если вы создаете jruby из java:
RubyInstanceConfig config = new RubyInstanceConfig();
config.setCompatVersion(CompatVersion.Ruby1_9);
Ruby runtime = Ruby.newInstance(config)
(Благодаря bbrowning на канале #jrubyc irc)