Задание режима 1.9 с помощью JRuby и rbenv

У меня есть 2 приложения, одно из которых должно работать на JRuby 1.6.5 в режиме 1.8, а другое - на JRuby 1.6.7 в режиме 1.9. Можно ли указать в приложении, что я хочу, чтобы одно приложение запускалось в режиме 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 ответа

Как 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]

Вы можете сделать это с 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]
Другие вопросы по тегам