ローカルのパソコンでRoRアプリが動いているのですが、herokuに送るとクラッシュしてしまいます。エラーログには、エラーH10 &と書かれています。
2012-11-21T15:26:47+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:95:in `start_agent'
2012-11-21T15:26:48+00:00 heroku[web.1]: State changed from starting to crashed
2012-11-21T15:26:48+00:00 heroku[web.1]: Process exited with status 1
2012-11-21T15:26:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:27:00+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
編集する
2012-11-22T10:00:58+00:00 app[web.1]:
2012-11-22T10:00:59+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno=web.1 queue=0 wait=0ms connect=1ms service=26ms status=200 bytes=0
どなたかこのような症状になったことがある方、また何が原因かご存知の方はいらっしゃいますか?解決策が見つかりません。
ありがとうございます。
上記と同じエラーに遭遇しました。アプリはhorekuでクラッシュしました(開発では問題なく実行されていました)が、horekuのエラーログは手がかりを明らかにしていませんでした。 このページで他の回答を読んで、「アプリの再構築」を見て汗をかきました。「多分私はheorkuコンソールに入って周りを見回すことができると考えました。 私はそうしました、そしてコンソールさえクラッシュしました、しかし今回はそれが理由を私に話しました。 これは、トラブルシューティングセッションの数時間前に削除するのを忘れたあいまいな変数でした。 同じ問題が発生すると言っているわけではありませんが、コンソールを調べようとしたときに、より多くの情報を見つけました。 これが役立つことを願っています。
$ heroku run rails console
$heroku run rails console
Herokuログの「アプリがクラッシュした」エラーよりもはるかに詳細な端末のエラーが表示されるため、これは最良のオプションです。
私はこの問題をGitにプッシュすることで解決しました。
git add .
git commit -am "some text"
git push
を実行し、Heroku にプッシュします。
git push heroku
で、Heroku上でrake db:migrateを実行します。
heroku run rake db:migrate
.gitignoreファイルを含めないことに成功しました->それはヒロクを壊します。 #doh。
これが動作する.gitignoreファイルです。
/.bundle
/vendor/bundle/
/vendor/ruby/
db/*.sqlite3
/db/*.sqlite3-journal
/log/*
/tmp/*
**.war
*.rbc
*.sassc
.redcar/
.sass-cache
/config/config.yml
/config/database.yml
/coverage.data
/coverage/
/db/*.javadb/
/db/*.sqlite3
/doc/api/
/doc/app/
/doc/features.html
/doc/specs.html
/public/cache
/public/stylesheets/compiled
/public/system/*
/spec/tmp/*
/cache
/capybara*
/capybara-*.html
/gems
/specifications
rerun.txt
pickle-email-*.html
.zeus.sock
**.orig
.DS_Store
/nbproject/
.idea
/*.tmproj
**.swp
.env
.powenv
.gitignoreファイルを作成するには、端末でアプリディレクトリに移動し、次のコマンドを使用します。
touch .gitignore
次に、テキストエディターで開いて、上記のコードを入力できます。
私の場合、アプリでENV変数を使用していましたが、horeku構成では設定されていませんでした。
horekuコンソールは適切なエラーを与えました:
heroku console
`validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError)
次に、ENV構成を設定します。
heroku config:set AWS_ACCESS_KEY_ID='key'
Herokuを再起動します。
heroku restart
できます。!!
私が直面していた問題の根本は、データベースを持っていないことにありました。この問題を解決するために、私はまずローカルのデータベースをエクスポートしました。
$ heroku addons:add heroku-postgresql:dev
$ heroku addons:add pgbackups
$ PGPASSWORD=mypassword pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump
そして、それをHerokuにインポートします。
$ heroku pgbackups:restore DATABASE 'http://site.tld/mydb.dump'
これらの例で置き換える変数は、以下の通りです。mypassword,
myuser,
mydb&
http://site.tld/mydb.dump`.ダンプを一時的なサーバーにアップロードする必要があったことに注意してください。
すべての問題を解決するために、私はEnkiをHerokuにデプロイする方法についてのクイックガイドを書きましたここにあります。
取得するかどうかを確認します。
bash: bin/rails: No such file or directory
実行中のログ(heroku logs -t)コマンドで、はいの場合は実行してください。
bundle exec rake rails:update
ファイルを上書きしないでください。最終的にこのコマンドが作成します。
create bin
create bin/bundle
create bin/rails
create bin/rake
これらのファイルをherokuにプッシュすると、完了です。
Railsを /
ではなくサブディレクトリで実行しようとしたときに問題が発生しました。 たとえば、「/ client」でAngular / Node / Gulpアプリを実行し、「/ server」でRailsアプリを実行していましたが、どちらも同じgitレポにあったため、フロントエンドとバックエンド全体の変更を追跡できました。 Herokuにデプロイしようとしたときにこのエラーが発生しました。 この問題を抱えている他の人のために、サブディレクトリでRailsを実行できるカスタムビルドパックを次に示します。