Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅为特定RVM版本设置RUBYOPT?_Ruby_Rvm - Fatal编程技术网

如何仅为特定RVM版本设置RUBYOPT?

如何仅为特定RVM版本设置RUBYOPT?,ruby,rvm,Ruby,Rvm,我希望只为使用Ruby 1.9.x的Gemset设置RUBYOPT=-r openssl。 Ruby1.8.x抱怨“RUBYOPT中的非法切换…”如果我全局设置了此设置 谢谢。在~/.rvm/hooks/使用后,放上: if echo $rvm_ruby_version | grep -q '1.9'; then export RUBYOPT='-r openssl' else export RUBYOPT= fi 我听说JRuby也会检查一个单独的环境变量,但我无法用谷歌搜索它是什么

我希望只为使用Ruby 1.9.x的Gemset设置
RUBYOPT=-r openssl
。 Ruby1.8.x抱怨“RUBYOPT中的非法切换…”如果我全局设置了此设置


谢谢。

~/.rvm/hooks/使用后,放上:

if echo $rvm_ruby_version | grep -q '1.9'; then
  export RUBYOPT='-r openssl'
else
  export RUBYOPT=
fi

我听说JRuby也会检查一个单独的环境变量,但我无法用谷歌搜索它是什么。谢谢。回答得很好。注意:我没有明确地将gemset与RVM一起使用。。。我依靠.rvmrc来切换。然而,rvmrc不使用“use”来切换,因此实际上不会触发after_use钩子。我想我可以把.rvmrc改为“使用”,而不是它正在做什么。还有其他想法吗?这不依赖于gemset,甚至不依赖于显式使用,隐式使用也会触发它(例如
rvm 1.9.2
)。请记住,rvmrc只是一个shell脚本。我刚刚在一个特定于项目的.rvmrc中使用
rvm1.9.2
进行了测试,结果也一样。也许用新的终端再试一次,如果仍然失败,请在.rvmrc中放入一些调试
echo
s,确保它正在运行。再次感谢。当我更改目录(放入echos)时,我看到project.rvmrc正在运行。我在使用后添加了一些回音,并确认没有使用my.rvmrc设置gemset:if[[-d”${rvm\u path:-$HOME/.rvm}/environments\&&s”${rvm\u path:-$HOME/.rvm}/environments/ruby-1.9.2来调用它-p136@myproj" ]] ; 然后\。“${rvm_path:-$HOME/.rvm}/environments/ruby-1.9.2-p136@myproj“否则。。。我确认它并没有运行,因为既并没有echo,也并没有env显示RUBYOPT。如果我将rvmrc更改为仅使用rvm。。。它起作用了。