Jak ustawić JRuby 1.6 jako domyślną dla Ruby 1.9?


79

jaki jest najlepszy sposób, aby JRuby działał domyślnie w trybie 1.9?

tj. chcę biec rake testzamiastjruby --1.9 -S rake test

Dziękuję Ci

Odpowiedzi:


109

Użyj JRUBY_OPTSzmiennej środowiskowej. JRUBY_OPTSprzechowuje listę argumentów, które są dodawane do argumentów podanych w wierszu poleceń.

Na przykład (w systemie 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 bagażnik 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 ...

22

Alternatywnym rozwiązaniem jest umieszczenie poniższej linii (i innych ustawień) w swoim pliku ~ / .jrubyrc

compat.version=1.9

18

RVM pozwala teraz budować JRuby / Rubinius z domyślnym trybem ustawionym domyślnie:

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

Sufiks -d19można pominąć, używam go tylko do rozróżnienia rubinów trybu 1.8 i 1.9 .

--1.9Tryb stanie się domyślnym w najbliższych głównych wydaniach jruby / Rubinius, więc można mieć pewność, będziesz korzystać 1.8 z --1.8przełącznikiem RVM.

UPDATE 2012-05-25: Jruby 1.7.0.preview1 jest wyłączone, domyślnie 1,9!



8

Podczas używania warblera do spakowania aplikacji jako pliku wojennego, wersję można ustawić, uruchamiając:

warble config

który tworzy config/warble.rbplik. Ten plik zawiera wiele komentarzy na temat konfiguracji warblera, aw szczególności:

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

Odkomentuj drugą linię, usuwając #i ponownie zapakuj swoją wojnę za pomocą warblepolecenia.


6

Jeśli tworzysz jruby z javy:

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

(Dzięki bbrowning na kanale IRC #jrubyc)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.