如何使JRuby 1.6默认为Ruby 1.9?


79

默认情况下,使JRuby在1.9模式下运行的最佳方法是什么?

即,我想跑步rake test而不是jruby --1.9 -S rake test

谢谢

Answers:


109

使用JRUBY_OPTS环境变量。 JRUBY_OPTS保留参数列表,这些参数将添加到命令行上指定的任何参数。

例如(在Linux上):

$ jruby -v
jruby 1.6.0.RC1(ruby 1.8.7补丁程序级别330)(2011-01-10 769f847)(Java HotSp ...
$ export JRUBY_OPTS =-1.9
$ jruby -v
jruby 1.6.0.RC1(ruby 1.9.2中继136)(2011-01-10 769f847)(Java HotSpot(TM ...
$ export JRUBY_OPTS =-1.8
$ jruby -v
jruby 1.6.0.RC1(ruby 1.8.7补丁程序级别330)(2011-01-10 769f847)(Java HotSpo ...


18

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--1.8rvm开关一起使用。

更新2012-05-25: Jruby 1.7.0.preview1已发布,默认为1.9!



8

使用warbler将应用程序打包为war文件时,可以通过运行以下命令来设置版本:

warble config

这将创建一个config/warble.rb文件。该文件包含有关如何配置莺的大量注释,尤其是:

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

删除#,取消第二行的注释,然后使用warble命令重新打包您的war 。


6

如果要通过Java创建jruby:

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

(感谢#jrubyc irc频道上的bbrowning)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.