默认情况下,让JRuby以1.9模式运行的最佳方法是什么?
即,我想运行rake test
而不是jruby --1.9 -S rake test
谢谢
答案 0 :(得分: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...
答案 1 :(得分:22)
另一种解决方案是将以下行(和其他设置)放在〜/ .jrubyrc文件中
compat.version=1.9
答案 2 :(得分:18)
RVM现在允许使用默认设置的默认模式构建JRuby / Rubinius:
rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9
后缀-d19
可以省略,我只用它来区分 1.8 和 1.9 模式红宝石。
--1.9
模式将成为JRuby / Rubinius下一个主要版本的默认模式,因此您可以确保将{strong> 1.8 与--1.8
rvm开关一起使用。
更新2012-05-25: Jruby 1.7.0.preview1已经出局,默认为1.9!
答案 3 :(得分:11)
在Windows中,使用
而是set JRUBY_OPTS=--1.9
。
答案 4 :(得分:8)
当使用warbler将应用程序打包为war文件时,可以通过运行:
来设置版本warble config
创建config/warble.rb
文件。该文件包含许多关于如何配置warbler的评论,特别是:
# Set JRuby to run in 1.9 mode.
# config.webxml.jruby.compat.version = "1.9"
删除#
取消注释第二行,然后使用warble
命令重新打包。
答案 5 :(得分:6)
如果你是从java创建jruby:
RubyInstanceConfig config = new RubyInstanceConfig();
config.setCompatVersion(CompatVersion.Ruby1_9);
Ruby runtime = Ruby.newInstance(config)
(感谢#jrubyc irc频道上的bbrowning)