Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails sudo:rvm:未找到命令-在Ubuntu 12.04服务器上安装rvm多用户_Ruby On Rails_Ruby_Nginx_Rvm_Passenger - Fatal编程技术网

Ruby on rails sudo:rvm:未找到命令-在Ubuntu 12.04服务器上安装rvm多用户

Ruby on rails sudo:rvm:未找到命令-在Ubuntu 12.04服务器上安装rvm多用户,ruby-on-rails,ruby,nginx,rvm,passenger,Ruby On Rails,Ruby,Nginx,Rvm,Passenger,我正在安装一个服务器,它是Ubuntu 12.04 首先,我安装了RVM多用户: me@ubuntu$\curl-Lhttps://get.rvm.io |sudobash-s稳定 然后,在安装RVM之后,正如安装建议的那样,我加入了RVM组 usermod-a-gme rvm 安装ruby rvm insall 1.9.3——默认值 然后我尝试安装系统范围的gem passenger,我得到了以下结果: me@ubuntu:~$ rvmsudo gem install passenger su

我正在安装一个服务器,它是Ubuntu 12.04

首先,我安装了RVM多用户:

me@ubuntu$\curl-Lhttps://get.rvm.io |sudobash-s稳定

然后,在安装RVM之后,正如安装建议的那样,我加入了RVM组

usermod-a-gme rvm

安装ruby
rvm insall 1.9.3——默认值

然后我尝试安装系统范围的gem passenger,我得到了以下结果:

me@ubuntu:~$ rvmsudo gem install passenger
sudo: gem: command not found
事实上,使用
rvmsudo
运行的任何命令只会说
sudo:{command}:notfound

我需要在系统范围内安装gems,因为这是一个生产服务器设置,而且安装
乘客安装nginx模块
需要root权限,因为它将int安装到
/opt/nginx/


有什么想法吗

为rvmsudo提供gem命令的完整路径?

可能bug会影响您。
您可以安装旧版本的rvm,而不是等待固定版本:

\curl -L https://get.rvm.io | sudo bash -s -- --version 1.16.20
有关详细信息,请参阅


编辑:这个问题现在已经解决了
rvmsudo
正在为我工作(Ubuntu 12.04)。

我今天也遇到了同样的问题,我没有等待修复或安装旧版本的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帐户中链接到上面的问题被标记为已修复,但修复程序并没有完全解决问题,所以我从1.16.x搜索了他们的github帐户中的rvmsudo版本,确实有效。

我认为可能是因为您没有加入rvm组。你说:

usermod -a -G me rvm
应该是:

此外,我需要在我的
.bashrc
的末尾添加以下行:

[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"  # This loads RVM into a shell session.

之后,只需再次登录shell。

这更像是一种解决方法,我想知道它为什么这样做,以及如何在没有完整路径的情况下使其工作?因为rvmsudo会清理您的环境以避免问题。如果您仍然想让它工作,您可以尝试“env PATH=$PATH_to_GEM rvmsudo GEM install foo”,看看会发生什么?我今天也遇到了同样的问题。这肯定是上面链接的问题,在rvm head中还没有完全修复(截至目前)。
[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"  # This loads RVM into a shell session.