您应该能够在.rvmrc
文件中运行bash命令。所以你可以检查最新版本,并要求它,如果没有找到,默认为2.0.0版本。我不知道你在想什么,因为这个文件在终端会话启动时被加载,并且中断不好。
这是我使用rbenv
sine制作的一个示例,我没有安装rvm
。
RV=`rbenv versions | grep -E " 2\.\d+\.\d+\S*" | grep -o -E "2\.\d+\.\d+\S*" | sort | tail -n 1`
if [[ $RV ]]
then echo $RV
else echo "DEFAULT"
fi
这个例子只是输出最高版本的2.x.x ruby它发现否则它说DEFAULT。对于RVM,以下文件可以在您的.rvmrc
文件中运行,但我无法自行测试。我基于文档中的输出结果。您可能需要稍微调整一下。
RV=`rbenv versions | grep -E "ruby-2\.\d+\.\d+\S*" | grep -o -E "2\.\d+\.\d+\S*" | sort | tail -n 1`
if [[ $RV ]]
then rvm use $RV
else rvm use 2.0.0
fi
来源
2014-11-11 21:34:16
Ben
你试过任何ruby解决方案,而不是.rvmrc吗?通常RUBY_VERSION常量在所有的ruby环境中都存在。 – bibstha 2014-11-06 21:05:19