当您有类似。。
在projectx中给出了一个.rvmrc文件,该文件指定了ruby 1.9.2,并且在我的系统上有两个rubie(ree-1.8.7和ruby1.9.2)
#!/bin/bash
cd applications/projectx
which ruby
ruby -v
最后两行输出ree-1.8.7及其路径,这不是我想要使用的。
是
Rvm确实在cd
周围定义了一个包装器,看起来像这样:
cd ()
{
builtin cd "$@";
local result=$?;
__rvm_project_rvmrc;
__rvm_after_cd;
return $result
}
很难说出为什么你的.rvmrc
不起作用。Rvm确实支持特定于项目的.rvmrc
文件,但您没有发布您的文件。
您需要在脚本中获取rvm,当您运行脚本时,它不会加载.bashrc
。只需添加一行类似
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
到脚本的开头。
如果您使用的是RVM 1.7.0或更高版本,则需要通过将此行添加到~/.rvmrc(或system.rvmrc):来启用项目特定的.rvmrc文件
rvm_project_rvmrc=1
请参阅:https://rvm.io/workflow/rvmrc/