当你有类似..
在 projectx 中给出一个 .rvmrc 文件,指定 ruby 1.9.2 并在我的系统上有两个 ruby(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(或系统 .rvmrc)来启用项目特定的 .rvmrc 文件:
rvm_project_rvmrc=1