質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.37%

【heroku】アプリをデプロイできなくて困っています。

受付中

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 590

score 4

概要

閲覧ありがとうございます。
Ruby on Railsで製作したアプリをherokuにデプロイしたのですが、application errorになってしまい、アクセスできません。
ローカル環境では問題なく動いています。
下記色々と試したのですが、なかなか解決できないため、何かヒントをいただけたら幸いです。

試したこと

  • heroku restart
  • heroku ps:scale web=0  の後に heroku ps:scale web=1 を入力して再起動
  • ログに address already in use がいくつか見つかったので該当するポート番号?に対して以下を実行したのですが、実行できませんでした。(書き方が間違っている?)
    kill -9 8015(各ポート番号)
  • failed to load command: puma とあったので、tmp以下にsocketsとpidsがないのかと思いましたが、作られていました。
  • procfileおよびpuma.rbは問題なく設定してあると思います。
  • こちらのサイトが一番自分の状況に近い感じだったのですが、いまいち解決に結びつきませんでした。(恥ずかしながらheroku run rails consoleでのエラーの見方がよくわかりません…)
    https://stackoverflow.com/questions/13496827/heroku-deployment-error-h10-app-crashed

コード

heroku logs  文字制限のためエラー以外の箇所を少し削除してあります。

 app[web.1]: [4] * Version 3.12.1 (ruby 2.5.1-p57), codename: Llamas in Pajamas
 app[web.1]: [4] * Min threads: 5, max threads: 5
 app[web.1]: [4] * Environment: production
 app[web.1]: [4] * Process workers: 2
 app[web.1]: [4] * Preloading application
 heroku[web.1]: State changed from starting to crashed
 heroku[web.1]: Process exited with status 1
 app[web.1]: [4] * Listening on tcp://0.0.0.0:8015
 app[web.1]: bundler: failed to load command: puma (/app/vendor/bundle/ruby/2.5.0/bin/puma)
 app[web.1]: Errno::EADDRINUSE: Address already in use - bind(2) for "0.0.0.0" port 8015
 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/binder.rb:273:in `initialize'
 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `load'
 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `<top (required)>'
 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=fathomless-earth-90758.herokuapp.com request_id=19cafb03-8e87-4add-9899-261aa8656a6b fwd="150.246.14.84" dyno= connect= service= status=503 bytes= protocol=https
 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=fathomless-earth-90758.herokuapp.com request_id=2ff7a60c-3aac-40a1-b05e-ae887771dde7 fwd="150.246.14.84" dyno= connect= service= status=503 bytes= protocol=https
 app[api]: Build started by user schecter_loomis@yahoo.co.jp
 heroku[web.1]: State changed from crashed to starting
 app[api]: Deploy c60751a5 by user schecter_loomis@yahoo.co.jp
 app[api]: Release v26 created by user schecter_loomis@yahoo.co.jp
 heroku[web.1]: Starting process with command `bundle exec puma -C config/puma.rb`
 app[api]: Build succeeded
 app[web.1]: [4] Puma starting in cluster mode...
 app[web.1]: [4] * Version 3.12.1 (ruby 2.5.1-p57), codename: Llamas in Pajamas
 app[web.1]: [4] * Min threads: 5, max threads: 5
 app[web.1]: [4] * Environment: production
 app[web.1]: [4] * Process workers: 2
 app[web.1]: [4] * Preloading application
 app[web.1]: [4] * Listening on tcp://0.0.0.0:47856
 app[web.1]: bundler: failed to load command: puma (/app/vendor/bundle/ruby/2.5.0/bin/puma)
app[web.1]: Errno::EADDRINUSE: Address already in use - bind(2) for "0.0.0.0" port 47856
 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/binder.rb:273:in `initialize'
 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `load'
 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `<top (required)>'
 heroku[web.1]: State changed from starting to crashed
 heroku[web.1]: Process exited with status 1
 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=fathomless-earth-90758.herokuapp.com request_id=bacb778d-c821-4a5a-b076-9f540bc67de3 fwd="150.246.14.84" dyno= connect= service= status=503 bytes= protocol=https
 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=fathomless-earth-90758.herokuapp.com request_id=1f06bd5b-488c-4d64-ab6b-b4cae87e20f0 fwd="150.246.14.84" dyno= connect= service= status=503 bytes= protocol=https
app[api]: Build started by user schecter_loomis@yahoo.co.jp
 app[api]: Deploy 485e98a3 by user schecter_loomis@yahoo.co.jp
 app[api]: Release v27 created by user schecter_loomis@yahoo.co.jp
 heroku[web.1]: State changed from crashed to starting
 heroku[web.1]: Starting process with command `bundle exec puma -C config/puma.rb`
 app[api]: Build succeeded
 app[web.1]: [4] Puma starting in cluster mode...
 app[web.1]: [4] * Version 3.12.1 (ruby 2.5.1-p57), codename: Llamas in Pajamas
 app[web.1]: [4] * Min threads: 5, max threads: 5
 app[web.1]: [4] * Environment: production
 app[web.1]: [4] * Process workers: 2
app[web.1]: [4] * Preloading application
 heroku[web.1]: State changed from starting to up
 app[web.1]: [4] * Listening on tcp://0.0.0.0:18017
 app[web.1]: [4] ! WARNING: Detected 1 Thread(s) started in app boot:
 app[web.1]: [4] ! #<Thread:0x0000556db0688fa8@/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:299 sleep> - /app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:301:in `sleep'
 app[web.1]: [4] Use Ctrl-C to stop
app[web.1]: [4] - Worker 0 (pid: 9) booted, phase: 0
 app[web.1]: [4] - Worker 1 (pid: 13) booted, phase: 0
 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] Started GET "/" for 150.246.14.84 at 
 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] Processing by PostsController#index as HTML
 heroku[router]: at=info method=GET path="/" host=fathomless-earth-90758.herokuapp.com request_id=0ce52cc5-458a-48ca-b8e6-2d0500a552c3 fwd="150.246.14.84" dyno=web.1 connect=0ms service=399ms status=500 bytes=1827 protocol=https
2019-10-03T06:18:44.066217+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]    (1.9ms)  SET NAMES utf8,  @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'),  @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
2019-10-03T06:18:44.079258+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]   Rendering posts/index.html.erb within layouts/application
2019-10-03T06:18:44.083784+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]   Post Load (2.1ms)  SELECT  `posts`.* FROM `posts` ORDER BY `posts`.`created_at` DESC LIMIT 5 OFFSET 0
2019-10-03T06:18:44.106305+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]   Rendered posts/_posts.html.erb (6.7ms)
2019-10-03T06:18:44.106401+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]   Rendered posts/index.html.erb within layouts/application (27.1ms)
2019-10-03T06:18:44.106703+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] Completed 500 Internal Server Error in 386ms (ActiveRecord: 12.4ms)
2019-10-03T06:18:44.108125+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]
2019-10-03T06:18:44.108183+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] ActionView::Template::Error (Mysql2::Error: Table 'heroku_4f05d1bfc51893c.active_storage_attachments' doesn't exist: SHOW FULL FIELDS FROM `active_storage_attachments`):
2019-10-03T06:18:44.108379+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]     1: <div class="post_container">
2019-10-03T06:18:44.108382+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]     2:   <div class="image_box">
2019-10-03T06:18:44.108384+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]     3:     <%= link_to post_path(post.id) do%>
2019-10-03T06:18:44.108389+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]     4:       <%= image_tag (post.image.variant(combine_options:{resize:"400x400^",crop:"400x400+0+0",gravity: :center}).processed) if post.image.attached? %>
2019-10-03T06:18:44.108392+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]     5:     <% end %>
2019-10-03T06:18:44.108394+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]     6:   </div>
2019-10-03T06:18:44.108396+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]     7:     <%= simple_format(post.text) %>
2019-10-03T06:18:44.108402+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3]
2019-10-03T06:18:44.108450+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] app/views/posts/_posts.html.erb:4:in `block in _app_views_posts__posts_html_erb___3267599074679378641_46964804731020'
2019-10-03T06:18:44.108452+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] app/views/posts/_posts.html.erb:3:in `_app_views_posts__posts_html_erb___3267599074679378641_46964804731020'
2019-10-03T06:18:44.108455+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] app/views/posts/index.html.erb:11:in `block in _app_views_posts_index_html_erb___4290802838741419738_46964804753260'
2019-10-03T06:18:44.108457+00:00 app[web.1]: [0ce52cc5-458a-48ca-b8e6-2d0500a552c3] app/views/posts/index.html.erb:10:in `_app_views_posts_index_html_erb___4290802838741419738_46964804753260'
2019-10-03T06:18:44.422108+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=fathomless-earth-90758.herokuapp.com request_id=056477a6-55c9-43c3-b958-271a8f8c388f fwd="150.246.14.84" dyno=web.1 connect=0ms service=4ms status=200 bytes=143 protocol=https


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'] || 'development'

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


procfile

web: bundle exec puma -C config/puma.rb
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

heroku run rails db:migrate

したらどうでしょうか

もしくは

heroku run rails db:migrate:status

でmigrationの状態を確認してみると良いとおもいます

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/10/04 22:20

    回答ありがとうございます。
    migrateしてgit push heroku masterし直したところH=10 のアプリがクラッシュしてしまうエラーは消えました!ありがとうございます。
    まだデプロイ自体はできてないのですが、これでまた一歩進めそうです。(template error undifined methodなのでおそらくアプリ自体の問題)
    本当にありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る