3

当你有类似..

在 projectx 中给出一个 .rvmrc 文件,指定 ruby​​ 1.9.2 并在我的系统上有两个 ruby​​(ree-1.8.7 和 ruby​​1.9.2)

#!/bin/bash

cd applications/projectx
which ruby
ruby -v

最后两行输出 ree-1.8.7 及其路径,这不是我打算使用的。

4

3 回答 3

8

是的


Rvm 确实定义了一个cd如下所示的包装器:

cd () 
{ 
    builtin cd "$@";
    local result=$?;
    __rvm_project_rvmrc;
    __rvm_after_cd;
    return $result
}

很难说出你为什么.rvmrc不工作。Rvm确实支持特定于项目的.rvmrc文件,但您没有发布您的文件。

于 2011-06-30T04:42:22.827 回答
3

您需要在脚本中获取 rvm,当您运行脚本时它不会加载您的.bashrc. 只需添加一行

[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm

到脚本的开头。

于 2011-06-30T07:38:09.567 回答
1

如果您使用的是 RVM 1.7.0 或更高版本,您需要通过将此行添加到 ~/.rvmrc(或系统 .rvmrc)来启用项目特定的 .rvmrc 文件:

rvm_project_rvmrc=1

请参阅:https ://rvm.io/workflow/rvmrc/

于 2011-08-18T09:18:38.687 回答