Was ist der beste Weg, um JRuby standardmäßig im 1.9-Modus laufen zu lassen?
dh ich möchte rake test
statt rennenjruby --1.9 -S rake test
Vielen Dank
Antworten:
Verwenden Sie die JRUBY_OPTS
Umgebungsvariable. JRUBY_OPTS
Enthält eine Liste von Argumenten, die zu allen in der Befehlszeile angegebenen Argumenten hinzugefügt werden.
Zum Beispiel (unter 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 ...
Eine alternative Lösung besteht darin, die folgende Zeile (und andere Einstellungen) in Ihre ~ / .jrubyrc-Datei einzufügen
compat.version=1.9
Mit RVM können Sie jetzt JRuby / Rubinius mit dem standardmäßig festgelegten Standardmodus erstellen:
rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9
Das Suffix -d19
kann weggelassen werden, ich verwende es nur, um zwischen Rubinen im Modus 1.8 und 1.9 zu unterscheiden .
Der --1.9
Modus wird in den nächsten Hauptversionen von JRuby / Rubinius zum Standardmodus, sodass Sie sicherstellen können, dass Sie 1.8 mit --1.8
rvm-Schalter verwenden.
UPDATE 2012-05-25: Jruby 1.7.0.preview1 ist raus, standardmäßig 1.9!
Wenn Sie eine App als War-Datei mit Warbler verpacken, kann die Version wie folgt festgelegt werden:
warble config
das erstellt eine config/warble.rb
Datei. Diese Datei enthält viele Kommentare zum Konfigurieren von Warbler, insbesondere:
# Set JRuby to run in 1.9 mode.
# config.webxml.jruby.compat.version = "1.9"
Kommentieren Sie die zweite Zeile aus, indem Sie die entfernen #
, und verpacken Sie Ihren Krieg mit dem warble
Befehl neu.
Wenn Sie jruby aus Java erstellen:
RubyInstanceConfig config = new RubyInstanceConfig();
config.setCompatVersion(CompatVersion.Ruby1_9);
Ruby runtime = Ruby.newInstance(config)
(Dank bbrowning auf dem # jrubyc irc-Kanal)