当你有类似的东西时。
在projectx中给出一个.rvmrc文件,指定ruby 1.9.2并在我的系统上有两个红宝石(ree-1.8.7和ruby1.9.2)
#!/bin/bash
cd applications/projectx
which ruby
ruby -v
最后两行输出ree-1.8.7及其我不打算使用的路径。
答案 0 :(得分:8)
Rvm确实定义了cd
的包装器,如下所示:
cd ()
{
builtin cd "$@";
local result=$?;
__rvm_project_rvmrc;
__rvm_after_cd;
return $result
}
很难说出为什么.rvmrc
无效。 Rvm 支持项目特定的.rvmrc
文件,但您没有发布自己的文件。
答案 1 :(得分:3)
您需要在脚本中获取rvm,当您运行脚本时,它不会加载您的.bashrc
。只需添加一行
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
到脚本的开头。
答案 2 :(得分:1)
如果您使用的是RVM 1.7.0或更高版本,则需要通过将此行添加到〜/ .rvmrc(或系统.rvmrc)来启用项目特定的.rvmrc文件:
rvm_project_rvmrc = 1