在尝试运行 rake 时,遇到以下错误:
heroku rake db:migrate
rake aborted!
...和跟踪:
> undefined method `task' for # > /app/.bundle/gems/ruby/1.8/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks' > /app/.bundle/gems/ruby/1.8/gems/railties-3.0.7/lib/rails/application.rb:139:in `load_tasks' > /app/.bundle/gems/ruby/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `send' > /app/.bundle/gems/ruby/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `method_missing' > /app/Rakefile:7 > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/rake_module.rb:25:in `load' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/rake_module.rb:25:in `load_rakefile' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/application.rb:495:in `raw_load_rakefile' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/application.rb:78:in `load_rakefile' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/application.rb:129:in `standard_exception_handling' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/application.rb:77:in `load_rakefile' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/application.rb:61:in `run' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/application.rb:129:in `standard_exception_handling' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/lib/rake/application.rb:59:in `run' > /app/.bundle/gems/ruby/1.8/gems/rake-0.9.0/bin/rake:31 > /usr/ruby1.8.7/bin/rake:19:in `load' > /usr/ruby1.8.7/bin/rake:19
gem 文件:
source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'rake', '~> 0.8.7'
gem 'sqlite3-ruby', :require => 'sqlite3'
我意识到其他人已经报告了此错误并提出了同样的问题 - 不过,发布的解决方案对我的问题没有影响。我已经尝试了此处列出的每个解决方案:Undefined method 'task' using Rake 0.9.0 。
最佳答案
Rails 3.0.8.rc1 已使用 rake 0.9.0 修复了此问题,请参阅此提交:https://github.com/rails/rails/commit/83f257fc4862642af29056cb5b7dfef6e1303754
关于ruby-on-rails - 使用 rake 0.9.0 AND 0.8.3 的未定义方法 'task',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101504/