0

我四处浏览,但找不到乘客安装需要 rvmsudo 的原因。

我正在我的服务器中安装带有 nginx 的乘客,并且我正在使用 RVM。根据乘客用户手册,如果我安装了rvm,我需要使用它rvmsudo来安装乘客。

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

谢谢你 !

4

1 回答 1

0

sudo授予当前用户执行某个活动的命令 root 权限(假设该用户被允许使用sudo)。也就是说,在安装乘客时,您需要 root 权限才能在所需位置安装文件。

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

sudo rvm passenger-install-nginx-module

这行不通!这是解释

但是,这根本行不通。sudo将启动一个新的子shell。新的 subshel​​l 的环境将完全不同,不会包含 RVM,也无法访问您用户的 RVM,除非您自己尝试破解 RVM 的环境变量。

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

于 2015-03-03T05:29:17.413 回答