2012-02-24 3 views
0

У меня проблема с задачами грабли. Когда я попытался выполнить любую команду rake, я получил следующую ошибку: uninitialized constant Rake::DSL. Конечно, я искал через StackOverflow перед этим вопросом, и я основал некоторые полезные сообщения, например, этот: https://stackoverflow.com/a/6686628/698919Rails 2.2.3 и новейший рейк

К сожалению, после того, как над исправлением я все еще получаю еще ошибки, которые не упомянуты в любых сообщениях:

rake gems:install 
    /var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/file_utils.rb:9: warning: already  initialized constant RUBY 
    /var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/file_utils.rb:86: warning: already     initialized constant LN_SUPPORTED 
    rake aborted! 
    undefined method `deprecate' for #<Rake::Application:0x7f4c3b3eeb38> 
    /home/arti/domeny/domain/ror/Rakefile:8 

Мои Rakefile:

require(File.join(File.dirname(__FILE__), 'config', 'boot')) 
    require 'rake/dsl_definition' 
    require 'rake' 
    require 'rake/testtask' 
    require 'rake/rdoctask' 
    require 'tasks/rails' 

Я также попытался понизить Rake до 0.8.7 версии. Впоследствии рейк-задачи работали правильно, но другие драгоценные камни не работали, и мне пришлось вернуться к новейшей версии рейка (0.9.2.2). Я знаю, что мне нужно перейти к новой версии Rails, но теперь мне нужно временное исправление. Я могу справиться без миграций, но мне нужно использовать грабли для индексирования моделей через think_sphinx.

+0

Вы действительно хотите использовать rvm. Это значительно упростило бы вашу жизнь в таких ситуациях. –

ответ

0

Я исправил это. Вот правильный Rakefile:

require(File.join(File.dirname(__FILE__), 'config', 'boot')) 
    require 'rake/dsl_definition' 
    require 'rake' 
    include Rake::DSL 
    require 'rake/testtask' 
    require 'rdoc/task' 

    require 'tasks/rails' 

    begin 
     require 'thinking_sphinx/tasks' 
    rescue LoadError 
     puts "You can't load Thinking Sphinx tasks unless the thinking-sphinx gem is $ 
    end 
Смежные вопросы