який найкращий спосіб змусити JRuby працювати в режимі 1.9 за замовчуванням?
тобто я хочу запустити 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 ... $ експорт JRUBY_OPTS = - 1.9 $ jruby -v jruby 1.6.0.RC1 (магістраль ruby 1.9.2 136) (2011-01-10 769f847) (Java HotSpot (TM ... $ експорт 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
РВМ перемикачем.
ОНОВЛЕННЯ 2012-05-25: Jruby 1.7.0.preview1 вийшов, за замовчуванням - 1,9!
При використанні warbler для упаковки програми як файлу війни версію можна встановити, запустивши:
warble config
який створює config/warble.rb
файл. Цей файл містить безліч коментарів про те, як налаштувати warbler, і зокрема:
# 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)
(Завдяки перегляду на #jrubyc irc-каналі)