Як зробити JRuby 1.6 за замовчуванням Ruby 1.9?


79

який найкращий спосіб змусити JRuby працювати в режимі 1.9 за замовчуванням?

тобто я хочу запустити rake testзамістьjruby --1.9 -S rake test

Дякую

Відповіді:


109

Використовуйте 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 ...

22

Альтернативним рішенням є розміщення наступного рядка (та інших налаштувань) у вашому файлі ~ / .jrubyrc

compat.version=1.9

18

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!



8

При використанні warbler для упаковки програми як файлу війни версію можна встановити, запустивши:

warble config

який створює config/warble.rbфайл. Цей файл містить безліч коментарів про те, як налаштувати warbler, і зокрема:

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

Розкоментуйте другий рядок, видаливши #, та перепакуйте свою війну warbleкомандою.


6

Якщо ви створюєте jruby з Java:

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

(Завдяки перегляду на #jrubyc irc-каналі)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.