使用JRuby和rbenv指定1.9模式

时间:2012-05-01 12:39:30

标签: jruby rbenv

我有2个应用程序,一个需要在1.8模式下运行JRuby 1.6.5,另一个需要在1.9模式下运行JRuby 1.6.7。是否可以在应用程序中指定我希望一个应用程序在1.9模式下运行,而无需显式设置JRUBY_OPTS环境变量。在.rvmrc中,我可以执行以下操作:

proj_1_8 version of .rvmrc
unset JRUBY_OPTS
rvm use jruby-1.6.5@proj_1_8

proj_1_9 version of .rvmrc
export JRUBY_OPTS=--1.9
rvm use jruby-1.6.7@proj_1_9

无论如何,只要我在项目之间切换,我就可以自动获取模式集而无需手动设置/取消设置环境变量吗?

2 个答案:

答案 0 :(得分:3)

正如D3mon-1stVFW建议......

https://github.com/sstephenson/rbenv-vars会有所帮助。

$ ruby-app-dir> jruby --version
jruby 1.6.7.2 (ruby-1.8.7-p357) (2012-05-01 26e08ba) (Java HotSpot(TM) Client VM 1.6.0_33) [darwin-i386-java]

$ ruby-app-dir> ## Install rbenv-vars as indicated in Github

$ ruby-app-dir> cat .rbenv-vars
JRUBY_OPTS=--1.9

$ ruby-app-dir> jruby --version
jruby 1.6.7.2 (ruby-1.9.2-p312) (2012-05-01 26e08ba) (Java HotSpot(TM) Client VM 1.6.0_33) [darwin-i386-java]

答案 1 :(得分:0)

您可以使用chruby执行此操作。

$ chruby jruby --1.9
$ jruby --version
jruby 1.7.0 (1.9.3p203) 2012-10-22 ff1ebbe on OpenJDK 64-Bit Server VM 1.7.0_09-icedtea-mockbuild_2012_10_17_15_53-b00 [linux-amd64]
$ chruby jruby --1.8
jruby 1.7.0 (ruby-1.8.7p370) 2012-10-22 ff1ebbe on OpenJDK 64-Bit Server VM 1.7.0_09-icedtea-mockbuild_2012_10_17_15_53-b00 [linux-amd64]