2

我尝试 heroku run bundle exec rake db:create --trace

并且有错误

    rake aborted!
    undefined method task' for #<CertApp::Application:0x00000002ad5488>
    /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:215:i
    ninitialize_tasks'
    /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:139:i
    n load_tasks'
    /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:77:in
    method_missing'
    /app/Rakefile:8:in <top (required)>'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/rake_module.rb:25:inlo
    ad'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/rake_module.rb:25:in lo
    ad_rakefile'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:581:inr
    aw_load_rakefile'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:87:in bl
    ock in load_rakefile'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:158:ins
    tandard_exception_handling'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:86:in lo
    ad_rakefile'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:70:inbl
    ock in run'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:158:in s
    tandard_exception_handling'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:68:inru
    n'
    /app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/bin/rake:37:in `'

    /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in load'
    /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in'

in gemfile 

gem 'rake', '0.8.7'

我应该怎么办?

4

2 回答 2

1

你不需要在 Heroku 上创建数据库,它已经存在了。作为部署过程的一部分,他们为您编写 database.yml。

于 2012-12-07T11:15:52.397 回答
0

答案采取2:

我知道你的 gemfile 说 0.8.7,但这条线/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/rake_module.rb:25:inload'来自你的机器,而不是 Heroku。这意味着您在某处有 rake 10.0.2。

我们应该能够通过运行避免使用 10.0.2,heroku bundle exec rake db:migrate这应该会强制使用 0.8.7,但我宁愿完全卸载 10.0.2,这样你就可以运行heroku rake db:migrate

所以,让我们确保您只使用 rake 0.8.7。按顺序尝试这些事情:

  1. 从 gemfile 中删除 rake 行。保存。关闭它。
  2. 卸载 rake:(gem uninstall rake或者gem uninstall rake -v 10.0.2如果第一个不起作用)
  3. 运行捆绑安装和捆绑更新
  4. 重新安装 rake 0.8.7:重新添加gem 'rake', '0.8.7'到您的 gemfile。
  5. 再次运行捆绑安装
  6. heroku bundle exec rake db:migrate

并交叉你的手指,因为我正在推动我在这方面的知识极限。

于 2012-12-21T15:23:57.113 回答