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 ではなくあなたのマシンから来ています。つまり、どこかにレーキ 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 を再インストールします: gemfile に再度追加gem 'rake', '0.8.7'します。
  5. bundle install を再度実行します
  6. 走るheroku bundle exec rake db:migrate

私はこれに関する私の知識の限界を押し進めているので、あなたの指を交差させてください.

于 2012-12-21T15:23:57.113 に答える