不能与sudo一起使用RVM安装的Ruby
我已经成功地configurationRVM使用Ruby 1.9.2,一切都很好。 但是,当我试图使用sudo
运行Ruby时,它说它找不到RVM或Ruby:
$ ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] $ sudo ruby -v [sudo] password for administrator: sudo: ruby: command not found
这是正确的行为还是我的RVMconfiguration错误? 也许我应该使用系统安装 ?
使用rvmsudo
命令而不是sudo
把@calas'回答更进一步,把这个添加到你的~/.bashrc
:
alias sudo=rvmsudo
这避免了必须记住每个命令(特别是烦人的复制/粘贴命令)更改sudo
到rvmsudo
要求。
Sudo正在重置您的PATH。 rvm通过修改你的PATH环境variables来工作,以便你使用的ruby是特定的,可能在〜/ .rvm / rubies目录下。 当你用sudo ruby ruby时,sudo没有使用修改后的PATH,所以它不会find你的rvm ruby。 请参阅此问题的解决方法: sudo更改PATH – 为什么?
@卡拉斯的答案是答案。 但是如果你不能使用rvmsudo
来实现你的目标,比如使用命令passenger-install-nginx-module
,请改变相关文件夹/path的所有者。 例如
$ chown <your_username>:<your_group> /opt -R $ passenger-install-nginx-module