为什么Ruby找不到Rake?

3
昨天我使用了Rails 3 beta gem,但是回到了2.3.8版本。在清理系统gems后,我尝试运行一个简单的Rake任务,结果出现了以下错误:
Peleliu:haml jayfallon$ sudo rake install
/Library/Ruby/Site/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rake (>= 0) (Gem::LoadError)
 from /Library/Ruby/Site/1.8/rubygems.rb:214:in `activate'
 from /Library/Ruby/Site/1.8/rubygems.rb:1082:in `gem'
 from /usr/bin/rake:18
我不确定这是否与我的路径有关。
RubyGems 环境:
  - RUBYGEMS 版本:1.3.7
- RUBY 版本:1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.0.0] - 安装目录:/usr/local/lib/ruby/gems/1.8 - RUBY 可执行文件路径:/usr/local/bin/ruby - 可执行文件目录:/usr/local/bin - RUBYGEMS 平台: - ruby - x86-darwin-10 - GEM 路径: - /usr/local/lib/ruby/gems/1.8 - /Users/jayfallon/.gem/ruby/1.8 - GEM 配置: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com", "http://gems.github.com", "http://gems.github.com", "http://gems.github.com", "http://gems.github.com", "http://gems.github.com", "http://gems.github.com", "http://gems.github.com", "http://gems.github.com", "http://gemcutter.org/"] - 远程资源:
- http://gemcutter.org/
3个回答

1

看起来rake正在尝试从/usr/bin/rake运行,这是系统版本的Ruby,而您在/usr/local中安装了自定义的Ruby。

  1. 确保您已为正在使用的Ruby安装了rake gem
  2. 确保rake命令在$PATH上的目录中。

which gem应返回/usr/local/bin中的rubygems安装。如果没有,则需要解决第一个问题。然后,您要确保在/usr/local Ruby安装中有rake gem:

gem list | grep rake

应该告诉您gem是否已安装。如果没有,请运行gem install rake

此时,which rake应该指向/usr/local路径中的某个内容。如果没有,请使用find /usr/local | grep rake查找Ruby安装程序保存gem可执行文件的位置,并将该目录添加到您的加载路径中。

顺便说一句,如果您正在使用自己的Ruby安装程序,则可能会发现rvmrbenv有助于管理安装程序和gems。


0

0

你只需要在Gemfile中添加rake

gem 'rake'

我试图在Rails应用程序之外使用Rake,并安装最新的Haml gem。
  • 谢谢
- jayfallon
那个 gem 文件会被放在哪里? - Yohann T.

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