素人がRailsで頑張ってherokuにデプロイできてログを見るのがだいじだなぁとおもった(こなみかん)
前回に引き続きがんばる。
Gemfileを修正してみる
とりあえずGemfileの書き方がなんかだめだったのかな、ということで、
Rails Girls - Japanese
を参考にしながら書きなおす。
[Gemfile]
# Use sqlite3 as the database for Active Record group :test, :development do gem 'sqlite3' end # Use PostgreSQL for heroku (only production) group :production do gem 'pg' gem 'rails_12factor' end
んでherokuにデプロイしなおしてみたら、
... Using pg 0.18.3 ...
とかあるのでpgは有効になってるっぽい。
ってかこれ以前のGemfileの書き方でも出てたから記述がおかしいわけではないな。
前回ワーニングが出てるように見えたのも、ローカル環境ではこの書き方だとbundlerで入らねーよ、というワーニングな気もしてきた。
元に戻す。
# Use sqlite3 as the database for Active Record gem 'sqlite3', groups: %w(test development), require: false # Use PostgreSQL for heroku (only production) gem 'pg', groups: %w(production), require: false gem 'rails_12factor', groups: %w(production), require: false
heroku run rails console は神
色々調べると、アプリケーションエラーが出たらherokuでログを見てみろとのこと。
heroku logでログ見てみたら、
2015-10-09T01:50:35.112317+00:00 heroku[web.1]: Process exited with status 1 2015-10-09T01:50:35.151861+00:00 heroku[web.1]: State changed from starting to crashed 2015-10-09T01:51:56.451809+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=musico.herokuapp.com request_id=155ce1ae-e498-4392-99cf-db03cbf59f8a fwd="xxx.xxx.xxx.xxx" dyno= connect= service= status=503 bytes= 2015-10-09T01:51:56.975357+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=musico.herokuapp.com request_id=860ccdd4-db70-43d6-931f-4320829265e1 fwd="xxx.xxx.xxx.xxx" dyno= connect= service= status=503 bytes= b-kt-01:musico kt$
どうやらH10というエラーコード吐き出してるようす。謎い。
とりあえずコンソール立ち上げてみろと。
$ heroku run rails console Running rails console on musico... up, run.7250 /app/app/models/form/artist.rb:2:in `<top (required)>': uninitialized constant Artist (NameError) from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.4/lib/rails/engine.rb:472:in `block (2 levels) in eager_load!' from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.4/lib/rails/engine.rb:471:in `each' from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.4/lib/rails/engine.rb:471:in `block in eager_load!' ......
ん。
uninitialized constant Artist (NameError)
前に消したと思ってたはずの練習用のファイルがまだモデルの中に残ってた。
消した。
とおったーーーーーーーー!!!
やっとこさデプロイできました。
heroku run rails console は神。
にしても、ゴミファイルがあってもローカルで動くけどherokuに上げたら動かないってことあるのね。
とにもかくにも、やっとこデプロイまでこぎつけました。