2010-07-01 5 views
3

я использую Rails 3 бета-камень вчера, но вернулся к 2.3.8, и, после очистки системы драгоценных камней, я пытаюсь запустить простую задачу Rake и получил это:Почему Ruby не может найти 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/ 

ответ

0

Вам просто нужно добавить рейк на вашем Gemfile

gem 'rake' 
+0

Я пытался использовать Rake вне приложения Rails и просто установил последний камень Haml. - спасибо – jayfallon

+0

, где будет расположен этот файл gem? –

2

Похоже, рейк пытается запустить от /usr/bin/rake, системной версии Ruby, в то время как у вас есть обычная установка Ruby в /usr/local.

  1. Убедитесь, что у вас есть передний камень, установленный для установки Ruby, вы используете
  2. Убедитесь, что команда rake находится в каталоге на $ PATH.

which gem следует вернуть рубигемы с /usr/local/bin. Если нет, это первая проблема, которую нужно решить. Затем вы хотите, чтобы убедиться, что у вас есть грабли камень в установке /usr/local Руби:

gem list | grep rake 

должен сказать вам, если установлен камень. Если нет, запустите gem install rake.

На данный момент which rake должен указывать на что-то в вашем пути /usr/local. Если он не использует find /usr/local | grep rake, чтобы выяснить, где ваша установка Ruby хранит исполняемые файлы gem и добавляет этот каталог в ваш путь загрузки.

В качестве дополнительной заметки, если вы используете свою собственную установку Ruby, вы можете найти rvm или rbenv полезной для управления установками и драгоценными камнями.

Смежные вопросы