我浏览过但无法找到为什么乘客安装需要rvmsudo。
我正在我的服务器中使用nginx安装乘客并且我正在使用RVM。根据{{3}},如果我安装了rvm,我需要使用rvmsudo
来安装乘客。
使用rvmsudo
和不使用rvmsudo
之间的区别是什么。尽管只在本地安装了rvm,是否正在使用rvmsudo进行系统范围的安装? (只需使用gem install passenger
)
谢谢!
答案 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权限,这正是您在此示例中安装乘客所需的内容。