jaki jest najlepszy sposób, aby JRuby działał domyślnie w trybie 1.9?
tj. chcę biec rake test
zamiastjruby --1.9 -S rake test
Dziękuję Ci
Odpowiedzi:
Użyj JRUBY_OPTS
zmiennej środowiskowej. JRUBY_OPTS
przechowuje 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 ...
Alternatywnym rozwiązaniem jest umieszczenie poniższej linii (i innych ustawień) w swoim pliku ~ / .jrubyrc
compat.version=1.9
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 -d19
można pominąć, używam go tylko do rozróżnienia rubinów trybu 1.8 i 1.9 .
--1.9
Tryb 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.8
przełącznikiem RVM.
UPDATE 2012-05-25: Jruby 1.7.0.preview1 jest wyłączone, domyślnie 1,9!
Podczas używania warblera do spakowania aplikacji jako pliku wojennego, wersję można ustawić, uruchamiając:
warble config
który tworzy config/warble.rb
plik. 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ą warble
polecenia.
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)