Ruby 系统范围的RVM用于替换加载在不同体系结构上的主目录

Ruby 系统范围的RVM用于替换加载在不同体系结构上的主目录,ruby,rvm,Ruby,Rvm,我已经看到了一些类似的问题,但似乎系统范围的RVM已被弃用,因此没有一个答案适用 我有一个NFS挂载的主目录,当我登录到实验室中的任意数量的不同机器时,我都可以访问该目录。因此,当我尝试在这些不同的机器上使用本地编译的Ruby时,它会崩溃,因为它们具有不同的体系结构 我以超级用户的身份安装了RVM,但我不知道如何引导我的常规用户帐户使用超级用户选择的Ruby。相反,它总是尝试使用~/bin中的一个 选择全局Ruby的合适方法是什么?我为同样的问题挣扎了很长一段时间。我最后做了以下几件事: exp

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

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

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


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

我为同样的问题挣扎了很长一段时间。我最后做了以下几件事:

export rvm_path="$HOME/tools/$ARCH/rvm"
使用以下命令行安装rvm注意:用法中没有提到-path选项,因此我不知道它有多受支持,但它在路径中使用了适当的体系结构,对我来说是可行的:

rvm-installer --path ~/tools/x86_64/rvm --version latest
为您希望能够支持的任何体系结构安装。注意:确保没有.rvmrc文件覆盖路径,尤其是在第二次安装期间

然后将以下内容添加到.bashrc/.bash\u配置文件中:

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_配置文件中添加一行设置rvm函数,将其更改为如下所示:

[[ -s "$HOME/tools/$ARCH/rvm/scripts/rvm" ]] && . "$HOME/tools/$ARCH/rvm/scripts/rvm" 
您还应编辑.rvmrc文件,使其具有以下内容:

export rvm_path="$HOME/tools/$ARCH/rvm"
我还没有时间完全测试这个设置,但至少它似乎在不同的平台上调用了正确版本的RVM


祝你好运

我为同样的问题挣扎了很长一段时间。我最后做了以下几件事:

export rvm_path="$HOME/tools/$ARCH/rvm"
使用以下命令行安装rvm注意:用法中没有提到-path选项,因此我不知道它有多受支持,但它在路径中使用了适当的体系结构,对我来说是可行的:

rvm-installer --path ~/tools/x86_64/rvm --version latest
为您希望能够支持的任何体系结构安装。注意:确保没有.rvmrc文件覆盖路径,尤其是在第二次安装期间

然后将以下内容添加到.bashrc/.bash\u配置文件中:

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_配置文件中添加一行设置rvm函数,将其更改为如下所示:

[[ -s "$HOME/tools/$ARCH/rvm/scripts/rvm" ]] && . "$HOME/tools/$ARCH/rvm/scripts/rvm" 
您还应编辑.rvmrc文件,使其具有以下内容:

export rvm_path="$HOME/tools/$ARCH/rvm"
我还没有时间完全测试这个设置,但至少它似乎在不同的平台上调用了正确版本的RVM


祝你好运

您是否有两个运行超级用户和普通用户的RVM实例?如果没有。一个简单的bash函数可以解决这个问题。ps ax | grep rvm没有显示正在运行的实例。您有两个运行超级用户和普通用户的rvm实例吗?如果没有。一个简单的bash函数可以解决这个问题,尽管.ps ax | grep rvm没有显示正在运行的实例。使用此设置已经有几天了,而且似乎运行良好,希望它对您有用!我得到一个奇怪的错误:/usr/local/rvm/scripts/base:line 42:/usr/local/rvm/scripts/functions/bundler:没有这样的文件或目录。尝试安装bundler,但没有帮助。果然,该目录中缺少bundler。您使用的是rvmsudo和rvm exec吗?如果它在/usr/local/rvm中查找,它会认为您是以root身份运行的。您已经使用此设置几天了,而且它似乎运行得很好,希望它对您有用!我得到一个奇怪的错误:/usr/local/rvm/scripts/base:line 42:/usr/local/rvm/scripts/functions/bundler:没有这样的文件或目录。尝试安装bundler,但没有帮助。果然,该目录中缺少bundler。您使用的是rvmsudo和rvm exec吗?如果它在/usr/local/rvm中查找,则认为您是以root身份运行的。