繁体   English   中英

系统范围的 RVM 替换加载在不同架构上的主目录

[英]System-wide RVM to replace a home directory loaded on different architectures

我已经看到了一些这样的问题,但似乎系统范围的 RVM 已被弃用,因此没有任何答案适用。

我有一个 NFS 挂载的主目录,当我登录到我们实验室中任意数量的不同机器时,我可以访问它。 因此,当我尝试在这些不同的机器上使用本地编译的 Ruby 时,它会中断——因为它们具有不同的架构。

我以超级用户身份安装了 RVM,但我不知道如何指导我的常规用户帐户使用超级用户选择的 Ruby。 相反,它总是尝试使用~/bin中的那个。

select 全局 Ruby 的合适方法是什么?

我在同样的问题上挣扎了很长一段时间。 我最终做了以下事情:

使用以下命令行安装 rvm(注意:使用中没有提到 --path 选项,所以我不知道它的支持程度,但它对我有用),路径中有适当的架构:

rvm-installer --path ~/tools/x86_64/rvm --version latest

安装您希望能够支持的任何架构。 (注意:确保您没有覆盖路径的 .rvmrc 文件,尤其是在第二次安装期间。)

然后将以下内容添加到 your.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

安装程序将在 your.bash_profile 中添加一行设置 rvm function,将其更改为如下所示:

[[ -s "$HOME/tools/$ARCH/rvm/scripts/rvm" ]] && . "$HOME/tools/$ARCH/rvm/scripts/rvm" 

您还应该编辑您的 .rvmrc 文件以具有以下内容:

export rvm_path="$HOME/tools/$ARCH/rvm"

我还没有时间完全测试这个设置,但至少它似乎在不同平台上调用了正确版本的 RVM。

祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM