Wie wird JRuby 1.6 standardmäßig auf Ruby 1.9 eingestellt?


79

Was ist der beste Weg, um JRuby standardmäßig im 1.9-Modus laufen zu lassen?

dh ich möchte rake teststatt rennenjruby --1.9 -S rake test

Vielen Dank

Antworten:


109

Verwenden Sie die JRUBY_OPTSUmgebungsvariable. JRUBY_OPTSEnthä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 ...

22

Eine alternative Lösung besteht darin, die folgende Zeile (und andere Einstellungen) in Ihre ~ / .jrubyrc-Datei einzufügen

compat.version=1.9

18

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 -d19kann weggelassen werden, ich verwende es nur, um zwischen Rubinen im Modus 1.8 und 1.9 zu unterscheiden .

Der --1.9Modus wird in den nächsten Hauptversionen von JRuby / Rubinius zum Standardmodus, sodass Sie sicherstellen können, dass Sie 1.8 mit --1.8rvm-Schalter verwenden.

UPDATE 2012-05-25: Jruby 1.7.0.preview1 ist raus, standardmäßig 1.9!


11

Verwenden Sie set JRUBY_OPTS=--1.9stattdessen in Windows .


8

Wenn Sie eine App als War-Datei mit Warbler verpacken, kann die Version wie folgt festgelegt werden:

warble config

das erstellt eine config/warble.rbDatei. 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 warbleBefehl neu.


6

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)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.