【发布时间】:2011-04-20 02:33:28
【问题描述】:
我一直在尝试在 Fedora 中安装 Rails 3,它要求 Ruby 为 1.8.7 或 1.9.2。 Fedora 官方 yum repos 有 Ruby 1.8.6,但没用。于是决定自己从源码编译,下载源码,编译安装成功。
但是安装后会发生这种奇怪的事情,sudo gem 或 sudo ruby 不起作用,它只是返回说找不到命令。
which ruby
/usr/local/bin/ruby
ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
sudo ruby
sudo: ruby: command not found
sudo echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
我是否遗漏了什么,为什么它在 PATH 中时找不到 ruby?
【问题讨论】:
-
您确定
ruby可执行文件在root的$PATH中吗?您发布的行没有显示这一点,因为显然变量扩展发生在您的 shell 中,而不是root的。 -
不应该 sudo 使用当前用户使用的相同 PATH,我终于能够通过将别名设置为 sudo 来解决它,“alias sudo=sudo env PATH=$PATH”