5

我有 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

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

4

2 回答 2

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]
于 2012-08-05T14:30:52.737 回答
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]
于 2012-11-21T06:59:26.043 回答