如何使JRuby 1.6默认为Ruby 1.9?

ark*_*diy 79 jruby

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

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

谢谢

tod*_*ted 108

使用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...


Ale*_*ore 22

另一种解决方案是将以下行(和其他设置)放在〜/ .jrubyrc文件中

compat.version=1.9
Run Code Online (Sandbox Code Playgroud)


mpa*_*pis 18

RVM现在允许使用默认设置的默认模式构建JRuby/Rubinius:

rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9
Run Code Online (Sandbox Code Playgroud)

后缀-d19可以省略,我用它来区分1.81.9模式红宝石.

--1.9模式将成为JRuby/Rubinius下一个主要版本的默认模式,因此您可以确保使用1.8--1.8rvm开关.

更新2012-05-25: Jruby 1.7.0.preview1已经出局,默认为1.9!


tai*_*nsu 11

在Windows中,请 set JRUBY_OPTS=--1.9改用.


Séb*_*nec 8

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

warble config
Run Code Online (Sandbox Code Playgroud)

这会创建一个config/warble.rb文件.该文件包含许多关于如何配置warbler的注释,特别是:

  # Set JRuby to run in 1.9 mode.
  # config.webxml.jruby.compat.version = "1.9"
Run Code Online (Sandbox Code Playgroud)

取消注释第二行#,然后使用warble命令重新打包war .


Jam*_*ore 6

如果你是从java创建jruby:

RubyInstanceConfig config = new RubyInstanceConfig();   
config.setCompatVersion(CompatVersion.Ruby1_9); 
Ruby runtime = Ruby.newInstance(config)
Run Code Online (Sandbox Code Playgroud)

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