我四处浏览,但找不到乘客安装需要 rvmsudo 的原因。
我正在我的服务器中安装带有 nginx 的乘客,并且我正在使用 RVM。根据乘客用户手册,如果我安装了rvm,我需要使用它rvmsudo
来安装乘客。
rvmsudo
使用和不使用有什么区别rvmsudo
。尽管仅在本地安装了 rvm,是否需要使用 rvmsudo 进行系统范围的安装?(只需使用gem install passenger
)
谢谢你 !
我四处浏览,但找不到乘客安装需要 rvmsudo 的原因。
我正在我的服务器中安装带有 nginx 的乘客,并且我正在使用 RVM。根据乘客用户手册,如果我安装了rvm,我需要使用它rvmsudo
来安装乘客。
rvmsudo
使用和不使用有什么区别rvmsudo
。尽管仅在本地安装了 rvm,是否需要使用 rvmsudo 进行系统范围的安装?(只需使用gem install passenger
)
谢谢你 !
sudo
授予当前用户执行某个活动的命令 root 权限(假设该用户被允许使用sudo
)。也就是说,在安装乘客时,您需要 root 权限才能在所需位置安装文件。
立即想到的一件简单的事情是:
sudo rvm passenger-install-nginx-module
这行不通!这是解释:
但是,这根本行不通。
sudo
将启动一个新的子shell。新的 subshell 的环境将完全不同,不会包含 RVM,也无法访问您用户的 RVM,除非您自己尝试破解 RVM 的环境变量。
因此,您需要使用 RVM 提供的解决方案,即rvmsudo
. 它将传递 RVM 设置的任何环境变量,以使您使用正确的 Ruby 以及 sudo 权限,这正是您在本示例中安装乘客所需的。