为什么Ruby不能找到Rake?

时间:2010-07-01 15:04:01

标签: ruby-on-rails ruby rubygems rake

我昨天使用的是Rails 3 beta版宝石,但又回到了2.3.8,并且在清理了系统宝石后,我试图运行一个简单的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 Environment:
  - RUBYGEMS VERSION: 1.3.7

  - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.0.0]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-10
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.8
     - /Users/jayfallon/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :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/"]
  - REMOTE SOURCES:

     - http://gemcutter.org/

3 个答案:

答案 0 :(得分:2)

看起来rake正试图从/usr/bin/rake(系统版本的Ruby)运行,而你在/usr/local中自定义安装Ruby。

  1. 确保为正在使用的Ruby安装安装了rake gem
  2. 确保rake命令位于$ PATH的目录中。
  3. 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对管理安装和宝石很有帮助。

答案 1 :(得分:0)

你只需要在你的Gemfile上添加rake

gem 'rake'

答案 2 :(得分:0)

我有类似的问题,“A Tale of Abort Traps (or Always Question Your Assumptions)”帮助。