我有rake任务的问题。当我尝试执行任何rake任务时,我遇到了以下错误:uninitialized constant Rake::DSL
。当然我在这个问题之前搜索了stackoverflow,并且我创建了一些有用的帖子,例如这一个:https://stackoverflow.com/a/6686628/698919
不幸的是,在上面的修复之后,我仍然会收到另一个错误,这些错误在任何帖子中都没有提到:
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版本。之后,rake任务正常工作,但其他宝石没有工作,我不得不回到最新版本的rake(0.9.2.2)。我知道我应该尽快迁移到最新版本的Rails,但现在我需要临时修复。我可以在没有迁移的情况下处理,但我需要rake来通过thinking_sphinx索引模型。
答案 0 :(得分: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