web-dev-qa-db-ja.com

JRuby 1.6をデフォルトのRuby 1.9にするには?

jRubyをデフォルトで1.9モードで実行するための最良の方法は何ですか?

つまり、rake test の代わりに jruby --1.9 -S rake test

ありがとうございました

79
arkadiy

使用 JRUBY_OPTS環境変数。 JRUBY_OPTSは、コマンドラインで指定された引数に追加される引数のリストを保持します。

例(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。 .. 
108
toddsundsted

別の解決策は、〜/ .jrubyrcファイルに次の行(およびその他の設定)を追加することです

compat.version=1.9
22
Alex Blakemore

RVMでは、デフォルトで設定されたデフォルトモードでJRuby/Rubiniusをビルドできるようになりました。

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

接尾辞-d19は省略できます。1.81.9モードルビーを区別するためにのみ使用します。

--1.9モードは、JRuby/Rubiniusの次のメジャーリリースでデフォルトになるため、--1.8 rvmスイッチで1.8を使用することを確認できます。

PDATE 2012-05-25: Jruby 1.7.0.preview1がリリースされました。デフォルトでは1.9です!

18
mpapis

Windowsでは、代わりにset JRUBY_OPTS=--1.9を使用します。

11
taiansu

Warblerを使用してアプリをwarファイルとしてパッケージ化する場合、次を実行してバージョンを設定できます。

warble config

config/warble.rbファイルを作成します。このファイルには、ウグイスの設定方法に関する多くのコメントが含まれています。特に、

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

#を削除して2行目のコメントを解除し、warbleコマンドで戦争を再パッケージ化します。

Javaからjrubyを作成している場合:

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

(#jrubyc ircチャンネルのブラウニングに感謝します)

6
James Moore