【问题标题】:rake db:migrate error Don't know how to build task 'rails_env'rake db:迁移错误不知道如何构建任务'rails_env'
【发布时间】:2012-09-18 16:58:51
【问题描述】:

运行 rake db:migrate 时出现错误。我最近添加了一个 gem gcm_on_rails 在这之后只有我得到了错误。

 rake aborted!
 Don't know how to build task 'rails_env'

 Tasks: TOP => db:migrate => db:load_config

请帮忙

   rake aborted!
   Don't know how to build task 'rails_env'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task_manager.rb:49:in `[]'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:60:in `lookup_prerequisite'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:56:in `block in prerequisite_tasks'
   /Users/test/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:56:in `collect'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:56:in `prerequisite_tasks'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain'
  /Users/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `block in invoke_prerequisites'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain'
  /Users/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
  /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
   /Users/.rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
   /Users/test/.rvm/gems/ruby-1.9.2-p320@global/bin/rake:19:in `load'
   /Users/test/.rvm/gems/ruby-1.9.2-p320@global/bin/rake:19:in `<main>'
   Tasks: TOP => db:migrate => db:load_config

【问题讨论】:

  • 请输入 rake db:migrate --trace 并将其输出放在这里。
  • 我已经用 trace 更新了问题。
  • 如果您从 gem 文件中删除该 gem 并执行捆绑安装,然后执行 rake db:migrate,它是否有效。
  • 我删除了 gem 并尝试了,但仍然是同样的错误。 :(
  • 您使用的是哪个数据库,您是否已将其包含在您的 gemfile 中?

标签: ruby-on-rails-3 rake rake-task


【解决方案1】:

为了使用 gem 中指定的 rake 任务,我在我的应用程序控制器中添加了以下代码。这导致了这个问题。 当我删除它时,它工作正常。

require 'rake'
Rake::Task.clear
MyAPP::Application.load_tasks

【讨论】:

    猜你喜欢
    • 2011-04-09
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 2014-10-22
    • 2015-07-12
    • 2012-07-20
    相关资源
    最近更新 更多