【Railsチュートリアル】Herokuにデプロイ失敗とApplication Error【2022年3月】

Railsチュートリアルに従って、Herokuにデプロイする(1)まで進めましたが、デプロイ失敗とデプロイできた後、Application Errorと格闘し、無事hello, worldが表示されました。

うろ覚えですが、コマンド履歴からやってみたことをメモしておきます。

デプロイ失敗

heroku buildpacks:add --index 1 heroku/nodejs
git push heroku master

いろいろググってたらこのコマンドに行きつきました。これで、デプロイは通りました。

Application Error

いろいろ試してみたら結果的にApplication Errorが消えたので、これというものは断定できていません。

最後に試した順から書いておきます。

bundle install

チュートリアルは

bundle _2.2.17_ install

ですが、最新使ったらいいのか?と思い、

gem install bundler
bundle install

としました。

これでApplication Errorは消えました。これ以前にいろいろ試してしまったため、これでうまくいかないかもしれません。

Herokuの設定いじってみる。

環境変数いじればいいのか?と思って、Herokuの画面眺めていましたが、Buildpacksにrubyを追加しました。

こんなところをいじっている記事とかはなかったので、おそらく関係ないと思います。

heroku rake db:migrate

とりあえずやっとけみたいな感じで書かれているので、やってみました。

heroku rake db:migrate

これだけだとエラーが出てました。

LoadError: cannot load such file -- bundler/setup
Could not find rake-12.3.3....

どちらかのエラーが出ていたと思います。

database.ymlを編集

Heroku環境でpostgresqlを使うようにdatabase.ymlを編集する必要があるという記事がいくつか見られたので、編集しておきました。

production:
  <<: *default
# database: db/production.sqlite3
  adapter: postgresql
  encoding: unicode
  pool: 5

heroku-18を使う

heroku-20だと動かないという記事もありましたので、heroku-18を設定しました。

しかし、herokuの画面を見るとheroku-20になっていましたので、関係ないかもしれません。

heroku stack:set heroku-18

【備忘録】コマンド履歴

1回目のデプロイからApplication Error解決するまで、ハマりまくったコマンド履歴をさらしておきます。

   56  git push heroku master
   57  ruby -v
   58  heroku buildpacks:add --index 1 heroku/nodejs
   59  git push heroku master
   60  heroku logs
   61  heroku run rails c
   62  rbenv rehash
   63  bundle install
   64  git push heroku master
   65  heroku run rails c
   66  bundle _2.2.17_ config set --local without 'production'
   67  bundle _2.2.17_ install
   68  git commit -a -m "Update Gemfile for Heroku02"
   69  git push heroku master
   70  heroku logs --tail
   71  heroku run rails c
   72  heroku stack:set heroku-18 
   73  git push heroku master
   74  heroku run rails c
   75   heroku login --interactive
   76  heroku stack:set heroku-20
   77   heroku login --interactive
   78   heroku login --interactive
   79  heroku stack:set heroku-20
   80  heroku run rails c
   81  heroku logs --tail
   82  bundle exec rails webpacker:install
   83  yarn install --check-files
   84  bundle exec rails webpacker:install
   85  git push heroku master
   86  heroku run rails c
   87  heroku --version
   88  git push heroku master
   89  heroku logs --tail
   90  heroku create
   91  git push heroku master
   92  bundle _2.2.17_ install
   93  cd hello_app/
   94  rails s
   95  yarn install --check-files
   96  rails s
   97   yarn upgrade
   98  git push heroku main
   99  git push heroku master
  100  heroku run rails c
  101  bundle update
  102  bundle install
  103  bundle _2.2.17_ config set --local without 'production'
  104  bundle _2.2.17_ install
  105  bundle _2.2.17_ upgrate
  106  bundle _2.2.17_ install
  107  git push heroku master
  108  gem update bundler
  109  heroku run rails c
  110  rails s
  111  cd hello_app/
  112  heroku run rails c
  113  bundle show rake
  114  Heroku rake db:migrate
  115  heroku rake db:migrate
  116  heroku bundle install
  117  bundle info rake
  118  bundle exec rake --version
  119  heroku run rails db:migrate
  120  heroku gem install bundler:2.2.17
  121  gem install bundler:2.2.17
  122  heroku open
  123  heroku logs --tail
  124  heroku run console
  125  git add .
  126  git commit -m "Add pg gem for Heroku"
  127  git push heroku master
  128  heroku run rake db:migrate
  129  heroku config
  130  printenv
  131  gem env
  132  heroku run rails c
  133  bundle config
  134  vim .bundle/config
  135  git add .
  136  git commit -m "Add pg gem for Heroku"
  137  git push heroku master
  138  vim .bundle/config
  139  git push heroku master
  140  bundle config
  141  gem install bundler:2.2.17
  142  git commit -a -m "Update Gemfile for Heroku"
  143  bundle _2.2.17_ install
  144  bundle _2.2.17_ install
  145  git add .
  146  git commit -a -m "Update Gemfile for Heroku"
  147  git push heroku master
  148  heroku run rails c
  149  heroku restart​
  150  bundle exec rake db:create
  151  yarn install --check-files
  152  heroku run bundle exec rails db:migrate
  153  heroku run rails c
  154  Heroku rake db:migrate
  155  heroku rake db:migrate
  156  bundle _2.2.17_ install
  157  git commit -a -m "Update Gemfile for Heroku"
  158  git push heroku master
  159  heroku rake db:migrate
  160  heroku stack:set heroku-18    
  161  git push heroku master
  162  git commit -a -m "Update Gemfile for Heroku"
  163  git push heroku master
  164  heroku rake db:migrate
  165  bundle _2.2.17_ install
  166  heroku rake db:migrate
  167  bundle -v
  168  heroku run gem install bundler
  169  heroku run bundle install
  170  heroku run bundle exec rake db:migrate
  171  heroku rake db:migrate
  172  heroku run rails c
  173  heroku run bundle install
  174  heroku run bundle _2.2.17_ install
  175  rails webpacker:install
  176  gem install bundler
  177  bundle install
  178  git push heroku master
  179  git commit -a -m "Update Gemfile for Heroku"
  180  git push heroku master
  181  history

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus

新品価格
¥3,278から
(2022/3/21 20:34時点)

Leave a Reply

Your email address will not be published.

CAPTCHA