web-dev-qa-db-ja.com

Heroku展開エラーH10(アプリがクラッシュしました)

ローカルコンピューターで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

誰もがこれを以前に持っていて、何が問題を引き起こしているのか知っていますか?解決策が見つかりません。

ありがとう。

118
bskool

上記と同じエラーに遭遇し、アプリはherokuでクラッシュしました(devで正常に動作していました)が、herokuのエラーログでは手がかりが見つかりませんでした。このページで他の回答を読んで、「アプリの再構築」を見た後、汗を流しました。多分、herokuコンソールにアクセスして見回すことができると考えました。私はそうし、コンソールさえクラッシュしましたが、今回は理由を教えてくれました。それは、数時間前のトラブルシューティングセッション中に削除するのを忘れていた不明瞭な変数でした。あなたが同じ問題に出くわすとは言っていませんが、コンソールを試してみたときに詳しい情報が見つかりました。お役に立てれば。

$ heroku run Rails console
260
ntimba20

私は同じ問題を抱えていました。ログからも手がかりが得られませんでした。それで、ダイノを縮小し、拡大しました。これで問題が解決しました:

heroku ps:scale web=0

数秒待って...

heroku ps:scale web=1
39
Hunter
$heroku run Rails console 

これは、Herokuログの「アプリがクラッシュした」エラーよりも詳細なエラーを端末に表示するため、最適なオプションです。

18
EricSchulz
$ heroku restart

dynoを再び実行するのに役立ちました。私はHerokuを初めて使用しますが、今では知っています。

16
Kyle Kwon

これは、間違ったポートで聞いていたときに起こりました

Listen()を「process.env.PORT」に変更しました。

http.listen((process.env.PORT || 5000), function(){
  console.log('listening on *:5000');
});

の代わりに

http.listen(5000, function(){
  console.log('listening on *:5000');
});
12
newshorts

今晩も同じ問題がありました。非常に有用なエラーではないので、コンソールで実行してみました

heroku run Rails c

それは失敗し、はるかに役立つエラーを私に与えました。本番環境でメソッド呼び出しを削除することを怠っていました。修正したら、アプリは正常に動作しました。

11
Gregory

Gitにプッシュすることでこの問題を解決しました。

git add .
git commit -am "some text"
git Push

次にHerokuにプッシュします。

git Push heroku

次に、Herokuでrake db:migrateを実行します。

heroku run rake db:migrate
5
Frank C Jones

私の場合、アプリでENV変数を使用していましたが、heroku configで設定されていませんでした。

herokuコンソールは適切なエラーを出しました:

heroku console
`validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError)

次に、ENV configを設定します

heroku config:set AWS_ACCESS_KEY_ID='key'

Herokuを再起動します

heroku restart

できます!!

3
devudilip

メインコードファイルの名前が間違っているため、HerokuでH10とNodeを使用していました。編集package.json

{

  ...

  "main": "correct_file_name.js",

  ...

  "scripts": {
    "start": "node correct_file_name.js"
  }
}

または、ファイルの名前を変更します。

2
ariel

.gitignoreファイルを含めることができませんでした-> herokuを壊します。 #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

次に、テキストエディタでそれを開き、上記のコードをそこに配置します。

2
Joe Mellin

Herokuでこの同じH10アプリのクラッシュエラーが発生していました。 herokuインターフェースで「すべてのdynoを再起動」をクリックして、問題を解決しました。

2
tomb

上記の「アプリがクラッシュしました」と同じエラーが表示され、herokuアプリのログにエラーメッセージの理由に関連する多くの情報が表示されません。次に、herokuでdynosを再起動しましたが、セットアップ内のindex.jsファイルの1つに追加の中括弧があるというエラーが表示されました。この問題は、削除され、herokuにアプリが再デプロイされると修正されました。

これが同じ問題に直面している人に役立つことを願っています。

1
Praveen

私が直面していた問題の根本は、データベースを持っていないことが原因でした。この問題を解決するには、最初にローカルデータベースをエクスポートしました。

$ 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'

これらの例で置き換える変数は、mypasswordmyusermydbhttp://site.tld/mydb.dumpです。ダンプを一時サーバーにアップロードする必要があったことに注意してください。

すべての問題を解決するために、EnkiをHerokuにデプロイする方法に関するクイックガイドを作成しました こちらで確認できます

1
bskool

あなたが得るかどうかを確認してください

bash: bin/Rails: No such file or directory

実行中のログ(heroku logs -t)コマンドでyesの場合は実行してください

bundle exec rake Rails:update

ファイルを上書きしないでください、最後にこのコマンドは作成します

  create  bin
  create  bin/bundle
  create  bin/Rails
  create  bin/rake

これらのファイルをherokuにプッシュすれば完了です。

1
Saqib R.

答えのリスト全体を調べた後、私はこのウェブサイトにつまずきました: https://status.heroku.com/ 現在のステータス/インシデントの詳細Heroku。頭を壁にぶつける前に、インシデントをチェックするのは常に安全です。私にとっては、エラーを引き起こしたのは、上記のリンクで公開された添付のインシデントレポートでした。

SERVER INCIDENT UPDATE

1
PallavBakshi

私は同じ問題を抱えていた、私は次のことをした

heroku run Rails c

コントローラーで許可されたパラメーター内で構文エラーとコンマの欠落を識別しました。前述のように、Herokuログは問題を解決するのに十分な情報を提供しませんでした。

以前にHerokuでアプリケーションがクラッシュするというメッセージを見たことはありません。

1
Ben Strachan

コードのコピーと貼り付けには非常に注意してください。ブロックをファイルに追加すると、フォーマットが正しくないためにエラーが発生する場合があります。

以前にこの問題が発生し、このエラーが発生しました:予期しないtIDENTIFIER、keyword_endが必要です

0
Matt Perejda

同じ問題がありました。私にとっては、before_actionフィルターのエラーでした(DBが空のため)before_actionフィルターを確認してください。

0
sphinx96

私は同じ問題(herokuで同じエラー、ローカルマシンで作業中)があり、エラーメッセージなしで実行されたheroku run Rails consoleを含む、ここにリストされたすべてのソリューションを試しました。 heroku run rake db:migrateheroku run rake db:migrate:resetを数回試しました。これで問題は解決しませんでした。運用環境で使用されているが開発環境では使用されていないファイルをいくつか調べてみると、puma.rbファイル内の空白が原因であることがわかりました。これが同じ問題を抱えている人の助けになることを願っています。これを変更すると機能しました

  ActiveRecord::Base.establish_connection
  End

  ActiveRecord::Base.establish_connection
end
0
Rahul Madhavan

今日も同じ問題に遭遇しました。以前にモデルを移行しましたが、heroku run rake db:migrateを実行しました。アプリはクラッシュしません。

0
Tu H.

Nodeを使用している場合は、コンソールでserveコマンドを直接実行してみてください。私の場合、angularアプリケーションを実行しているので、次のことを試しました。

heroku run npm start

これにより、アプリケーションの起動中に正確なエラーが表示されました。

0
Victor Vargas

App.set( 'ip_address'、process.env.IP || '127.0.0.1');から設定を更新しました。

app.set( 'ip_address'、process.env.IP || '0.0.0.0');

openshiftホスティング用に変更したもの

0
Neville Dabreo

/ではなく、サブディレクトリでRailsを実行しようとしたときにこの問題が発生しました。たとえば、/clientで実行されているAngular/Node/Gulpアプリと/serverで実行されているRailsアプリがありましたが、両方とも同じgitリポジトリにあったため、フロントエンドとバックエンド全体の変更を追跡します。 Herokuにデプロイしようとすると、このエラーが発生しました。この問題を抱えている人のために、サブディレクトリでRailsを実行できるカスタムビルドパックを紹介します。

https://github.com/aarongray/heroku-buildpack-Ruby

0
Aaron Gray

ガイド ページに従ってherokuでPumaを使用し始めたときに同じ問題が発生しました。この問題は、以下に示すポート行にコメントすると解決しました。

# port        ENV['PORT']     || 3000

そのため、configディレクトリのpuma.rbで上記の行を無効にすることで問題を解決しました

workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['Rails_MAX_THREADS'] || 5)
threads threads_count, threads_count

preload_app!

rackup      DefaultRackup
# port        ENV['PORT']     || 3000
environment ENV['RACK_ENV'] || 'production'

on_worker_boot do
  # Worker specific setup for Rails 4.1+
  # See: https://devcenter.heroku.com/articles/deploying-Rails-applications-with-the-puma-web-server#on-worker-boot
  ActiveRecord::Base.establish_connection
end
0
Ahmed Elkoussy

Herokuへのデプロイ中に同じ問題に遭遇しました(アプリのクラッシュ)。ログには、問題の原因は示されていません。 Herokuコンソールでは、余分なブラケットのコードに構文エラーが表示されました。驚いたことに、アプリの実行中にローカルRailsに問題がなかったため、見逃しました。 Herokuへの修正とgit Pushの後、アプリはHerokuで動作を開始しました!

0
M Donde

私の場合、使用したProcfileはすべてを壊していました。 HerokuはProcfileを探し、アプリの起動時にその設定を適用します。明らかに、使用したdev設定はprodサーバーにとって意味がありませんでした。名前をProcfile.devに変更する必要があり、すべてが正常に動作し始めました。

0
The Whiz of Oz