Error: rake命令未找到。

28

我正在尝试在Ubuntu 9.10上安装Rails。

gem list --local

*** LOCAL GEMS ***

actionmailer (2.3.4, 2.3.2)
actionpack (2.3.4, 2.3.2)
activerecord (2.3.4, 2.3.2)
activeresource (2.3.4, 2.3.2)
activesupport (2.3.4, 2.3.2)
rack (1.0.1)
rails (2.3.4, 2.3.2)
rake (0.8.7)
sqlite3-ruby (1.2.5)

rake
The program 'rake' is currently not installed.  You can install it by typing:
sudo apt-get install rake
rake: command not found

我该如何解决这个问题?


@MR:但它确实被列为已安装的 gem。 - DigitalRoss
5个回答

45

您需要将/var/lib/gems/1.8/bin添加到您的PATH中。尝试执行以下命令:

export PATH=$PATH:$HOME/bin:/var/lib/gems/1.8/bin

之后应该能够使用 rake 命令。

你可以将这行代码添加到你的 ~/.bashrc 文件中,这样每次就不用再输入这个命令了。


3
非常感谢!我遇到这个问题已经好几个月了,意外地在看问题时发现了这个答案... - Chris McCall
4
请使用"gem env"命令获取您的gem路径。 - djburdick
我运行了这个程序,但是出现了“不是git仓库”的错误。我应该从哪里运行它? - Chris F

9

Gem在抱怨rake可执行程序(即可执行文件),而不是rake gem(您已经安装了后者)。

这意味着您需要将rake exec添加到PATH中。 rake二进制文件的可能位置为/var/lib/gems/1.8/bin/rake。然后将其添加到您的PATH中:

export PATH=${PATH}:/var/lib/gems/1.8/bin

您也可以从Ubuntu存储库中安装Rake(如gem输出中建议的):
sudo apt-get install rake

1

他们是正确的,你需要在路径中安装rake。但是,如果你想确保它只是存在于那里,而不是从.bashrc导出,可以创建一个符号链接:

sudo ln -s /var/lib/gems/1.8/bin/rake /usr/bin/rake

如果你这样做,你应该总是能够使用它。


那应该发生,这几乎相当于复制文件到目录。检查使用 root 时设置的路径。这是在 Ubuntu 上吗? - anotherdjohnson

1
解决方法,至少对我而言,是创建符号链接。
这是我必须记住的问题类型。每次我设置新的Ubuntu机器时都会遇到这个小问题。

0

我在Centos 5.5上遇到了同样的问题,我自己编译了Ruby和Rails。(需要为Redmine使用)当我尝试使用passenger-install-apache2-module安装Passenger时,我进行了strace并发现,Passenger在ruby/bin目录而不是gems/bin目录中查找rake,而rake是安装在后者中的。

ln -s /usr/local/ruby1.8.7/lib/ruby/gems/1.8/bin/rake /usr/local/ruby1.8.7/bin

对我来说解决了问题。(/usr/local/ruby1.8.7 是我安装 Ruby 的位置...)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接