我已经看到了类似这样的问题,但似乎已经弃用了系统范围的RVM,因此没有一个答案适用。
我有一个NFS挂载的主目录,当我登录到我们实验室中的任意数量的不同计算机时,我可以访问该目录。因此,当我尝试在这些不同的机器上使用它时,本地编译的Ruby会破坏 - 因为它们具有不同的体系结构。
我以超级用户身份安装了RVM,但我无法弄清楚如何指导我的常规用户帐户使用超级用户选择的Ruby。相反,它总是尝试使用~/bin
中的那个。
选择全局Ruby的适当方法是什么?
答案 0 :(得分:1)
我在相同的问题上挣扎了很长一段时间。我最终做了以下事情:
使用以下命令行安装rvm(注意:使用中未提及--path选项,因此我不知道它是如何受支持的,但它对我有用),路径中有适当的体系结构:
rvm-installer --path ~/tools/x86_64/rvm --version latest
安装您希望能够支持的任何体系结构。 (注意:确保没有覆盖路径的.rvmrc文件,尤其是在第二次安装期间。)
然后将以下内容添加到.bashrc / .bash_profile:
OS=$(uname -s)
if [[ $OS = Linux ]] ; then
> ARCH=$(uname -m | sed 's/i.86/i686/')
elif [[ $OS = FreeBSD ]] ; then
> ARCH=$(uname -m | sed 's/i.86/i686/')
elif [[ $OS = Darwin ]] ; then
> ARCH=mac
else
> ARCH=unknown
fi
export ARCH
安装程序会在.bash_profile中添加一行来设置rvm函数,将其更改为如下所示:
[[ -s "$HOME/tools/$ARCH/rvm/scripts/rvm" ]] && . "$HOME/tools/$ARCH/rvm/scripts/rvm"
您还应该编辑.rvmrc文件以获得以下内容:
export rvm_path="$HOME/tools/$ARCH/rvm"
我没有时间完全测试这个设置,但至少它似乎是在不同平台上调用正确版本的RVM。
祝你好运!