Почему Руби не может найти Рейка? - PullRequest
3 голосов
/ 01 июля 2010

Вчера я использовал бета-версию Rails 3, но вернулся к 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 ]

2 голосов
/ 13 октября 2012

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

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

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

gem list | grep rake

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

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

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

0 голосов
/ 10 мая 2011
0 голосов
/ 01 июля 2010

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

gem 'rake'
...