2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Herokuデプロイ後に出たエラーを解決するためにやったこと

Last updated at Posted at 2019-09-12

以前作ったアプリが開発環境に問題が出てしまい、(AWSのターミナルが使えなくなりました)
https://qiita.com/acro_y/items/84f4d759ed01cee4bf52

そのためgit cloneをしてローカルで作り直すもとにかくエラーを吐き続けていましたが
やっとこの度エラーが解決できたのでまとめてみたいと思います。
#herokuでデプロイ後、開発環境のエラー勃発
この時点でherokuは使えるものの、2つのherokuのurlを有していました。
一つは最初に用意していた分、もう一つはエラーが止まらなかったので作り直した分。
そしてheroku自体は使える状態ではありましたので、エラーで止まっている方のurlを削除したところ
→互換性が何かあったのか、もう一方のherokuのurlのappも動かなくなってしまいました。
スクリーンショット 2019-08-29 20.39.12.png

なんとか、herokuのappの復旧(この部分は色々やりすぎて思い出せない)
AWSのcloud9を使用していましたが、free spaceが無いということでターミナルが使えなくなりました。そのためAWSで新たなワークスペースを作る必要がありましたが、AWSのエラーは本当にこりごりだったので今度はローカルで作ることにしました。
#ローカルで作成の際Rubyのバージョンを上げた
最初、Ruby2.4.0で開発していました。
git cloneした時点でエラーが発生していましたので
単純にアップデートした方が何かと良いのではという、初心者ならではの根拠のあまり無い考えで最新の2.6.3にアップデート。
そうすることで今度はさらに多くエラーが出てしまいました。rails sしてもエラーを吐き続ける状態です。主にbootsnap関連のエラーです。
どうやらローカルであげたバージョンと他のgemと、何かしらのコンフリクトを起こしているらしい、、、!?
railsのバージョンもあげたり、とにかくエラーをググってみたりしてみましたがそのエラーは消えず。
すでに使ってくださってるユーザーさんもいたためherokuのコマンドが使えるまでは復旧できたので
herokuはロールバックしました。
(この時点でgithubにあげてる分と差異があります)
#git clone後に環境変数の設定を忘れていた。
herokuにそもそも環境変数の設定をするのを忘れていました。
git cloneし、新たにherokuで新しいURLになったため、herokuに環境変数がsetされていない状況でした。それらをセットし直しました。

$ heroku config:set AWS_ACCESS_KEY_ID=[自分のID]
$ heroku config:set AWS_SECRET_ACCESS_KEY=[自分のシークレットキー]

#githubをエラーが出てなかったところまで思い切ってロールバックする
何度git cloneをした事でしょうか。。。
これはgithubにあげてるcommitの本番環境も開発環境もエラーが出ていなかったところまで思い切って戻すことにしました。この時点でrails sコマンドは使えるようになりました。
#git cloneし、ローカルでrubyバージョンを初期状態に戻す
しかし、開発環境自体は使えるようになったものの、herokuにデプロイしてもアプリケーションエラーが止まらない。
Mentaというサービスでメンターさんに相談したところ、rubyのバージョンを戻してしまえば直るかもしれない。というアドバイスで、2.6.3にあげていたRubyをローカルのファイルではすでに2.4.0に戻し、
ローカルでも同じように戻しました。
そしてrubyのバージョンを戻したのにおかしい、、

 $ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin17]

だけどまだエラーがでる。。ということでgemfile.lockのファイルに

gemfile.lock
RUBY VERSION
   ruby 2.6.3p62

BUNDLED WITH
   2.0.2

これが悪さをしていたみたいです、、、!
これを決して、bundle installします。
bundle installをするとエラーが出ましたので、今度は

$bundle update

そしてgithubにpushした後

$ git push heroku master

で無事heroku にデプロイ後のアプリケーションエラーが消えました!

#やったことまとめ

  • herokuに環境変数設定し直す
  • gitのcommitを確認して、エラーが出てなかったところまでロールバックする(注意必要)
  • rubyのバージョンを下げる
  • gemfileだけでなくruby.rbファイルをruby下げ直したバージョンに書き直す、gemfile.lockの元のバージョンの記載があれば削除

ものすごく遠回りしましたが、エラーを読んでもググってもなかなか意味がわからなかった部分が多く
「なんだかわからないけどこうなった、、、」ってところがまだまだたくさんあります。
課題は残りますがなんとか開発が続けられるようになりました。
新しいURLはこちらです。

Poletricks

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?