为什么我不能在Ubuntu 11.04中执行多用户RVM安装?

时间:2011-06-08 19:07:12

标签: ruby rvm

我正在尝试将RVM安装到/usr/local/rvm,因为我需要能够将ruby作为服务器运行。但是,每当我跑:

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

默认为我的主目录/home/<user>/.rvm

我试过跑:

sudo bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

以及启用Ubuntu root密码并使用root帐户登录,但安装始终默认为我的主目录。我该如何解决这个问题,或者从源代码安装Ruby会更容易吗?

5 个答案:

答案 0 :(得分:1)

在我看来,生产主机上的RVM并不像开发人员的沙箱那样有用。我认为RVM是一个很好的工具,但并不是适用于所有情况。

开发人员需要很大的灵活性来使用不同版本的Ruby,以及使用特定版本的gem。 RVM为此而闪耀。它可以很容易地自动切换,测试所有已安装的Ruby版本,或者,如果事情变得混乱,可以把它全部吹掉并快速重新开始。

在生产服务器环境中,您通常将主机专用于特定服务或一组相关服务,在各种Rubies和gem集之间快速切换的需求趋于消失。我只放了一个版本的Ruby。所有应用都指向它。 IF 我需要多个,我将其安装到单独的/opt/local目录层次结构中,并将我的PATH设置为拥有帐户以指向所需的版本。在制作中,这通常只是一次,忘记了情况。

答案 1 :(得分:1)

您可以在Ubuntu上以多用户模式安装rvm。说明与其他系统相同,如此处所述http://beginrescueend.com/rvm/install/只需使用sudo安装即可。

然而,由于Ubuntu实现sudo命令的方式,Ubuntu会出现一个与sudo rvm install 1.9.2等后续命令失败的问题。在ubuntu上,sudo默认更改路径,以使其更安全。这个早期的主题详细讨论了这个问题sudo changes PATH - why?

要解决此问题,请使用visudo编辑您的sudoers文件并添加指定

Defaults !secure_path

如相关主题所示。

答案 2 :(得分:0)

以root身份登录时,检查是否设置了rvm_path

echo $rvm_path

如果是,那么:

export rvm_path=
rm /etc/rvmrc

这应该足够了。

答案 3 :(得分:0)

确定,请尝试sudo su -c bash < <(...)。您可以在系统上没有root用户帐户的情况下使用sudo(这就是我购买OSX时的配置方式),所以你应该小心使用sudo。另外,例如,sudo su -c env在我的Ubuntu安装中的路径与sudo env不同。

另外,请注意,安装后(你不能使用sudo函数)如果你没有以root身份登录,则需要使用rvmsudo rvm ...而不是sudo rvm ...(也许你应该{ {1}}然后做你的工作)。

答案 4 :(得分:0)

请尝试以下操作:

,而不是使用sudo运行命令或启用root密码
$ sudo su -

这将切换到您可以运行安装命令的root帐户:

# bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

这对我有用。