为什么需要rvmsudo来安装乘客

时间:2015-03-03 01:46:51

标签: ruby-on-rails ruby rvm rvmsudo

我浏览过但无法找到为什么乘客安装需要rvmsudo。

我正在我的服务器中使用nginx安装乘客并且我正在使用RVM。根据{{​​3}},如果我安装了rvm,我需要使用rvmsudo来安装乘客。

使用rvmsudo和不使用rvmsudo之间的区别是什么。尽管只在本地安装了rvm,是否正在使用rvmsudo进行系统范围的安装? (只需使用gem install passenger

谢谢!

1 个答案:

答案 0 :(得分:0)

sudo向当前用户授予命令root权限以承载某项活动(假定允许用户使用sudo)。也就是说,在安装乘客时,您需要root权限才能在所需位置安装文件。

立即想到的一件简单事情就是:

sudo rvm passenger-install-nginx-module

这不会奏效!这是explanation

  

然而,这根本不起作用。 sudo将启动一个新的子shell。   新的子shell环境将完全不同,并且   不会包含RVM,也不会在没有RVM的情况下访问用户的RVM   试图自己破解RVM的环境变量。

因此,您需要使用RVM提供的解决方案,即rvmsudo。它将传递RVM设置的任何环境变量,以使您获得正确的Ruby以及sudo权限,这正是您在此示例中安装乘客所需的内容。