我正在设置一个服务器,它是一个Ubuntu 12.04
首先我安装了RVM多用户:
me@ubuntu$ \curl -L https://get.rvm.io | sudo bash -s stable
然后在安装RVM之后,安装建议我将自己添加到RVM组
usermod -a -G me rvm
安装红宝石
rvm insall 1.9.3 --default
然后我尝试安装系统范围的宝石乘客,我得到了这个:
me@ubuntu:~$ rvmsudo gem install passenger
sudo: gem: command not found
事实上,任何使用rvmsudo
运行的命令都会显示sudo : {command}: not found
我需要在系统范围内安装gem,因为它是一个生产服务器设置,同时安装passenger-install-nginx-module
需要root权限,因为它将int安装到/opt/nginx/
任何想法?
答案 0 :(得分:4)
也许this bug会影响你。
您可以安装较旧版本的rvm:
\curl -L https://get.rvm.io | sudo bash -s -- --version 1.16.20
有关详细信息,请参阅https://rvm.io/rvm/install/。
编辑:此问题现已解决。rvmsudo
正在为我工作(Ubuntu 12.04)。
答案 1 :(得分:3)
我今天也遇到了同样的问题,而不是等待修复或安装旧版本的rvm,我将我的rvmsudo文件修补回1.16.x并将剩下的rvm单独留下。
首先仔细检查系统中rvmsudo的位置:
> which rvmsudo
/usr/local/rvm/bin/rvmsudo
然后将其替换为1.16.x中的版本
curl https://raw.github.com/wayneeseguin/rvm/eef67d80409ee3291de83ec4f070bed5aaca6d41/binscripts/rvmsudo > /path/to/rvmsudo
注意:我实际上尝试过第一次更新到最新版本的rvm,因为@trobter在rvm的github帐户中链接到上面的问题被标记为已修复,但是修复程序没有完全解决问题,所以我搜索了通过他们的github帐户获得1.16.x版本的rvmsudo,这确实有效。
答案 2 :(得分:2)
我想这可能是因为你没有把自己添加到rvm组。你说:
usermod -a -G me rvm
应该的内容是:
usermod -a -G rvm me
此外,我需要将以下行添加到.bashrc
:
[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm" # This loads RVM into a shell session.
之后,再次登录您的shell。
答案 3 :(得分:0)
给rvmsudo指向gem命令的完整路径?