Rails Heroku デプロイ エラー
デプロイ時、修正してはエラーを3回したので、その解決策をまとめます。①インストールしようとしているRubyのバージョンは、このスタックに存在しません。とエラー内容は下記
! The Ruby version you are trying to install does not exist on this stack.
!
! You are trying to install ruby-2.6.5 on heroku-22.
!
! Ruby ruby-2.6.5 is present on the following stacks:
!
! - heroku-18
○解決策
herokuのstackを18に変更
そうしたことで、このエラーを対処することができました。
https://qiita.com/WakameSun/items/fadd77eae7d9a4642a7d
この記事を参考にエラー解消
②続いて、第二のエラー 下記のエラーメッセージ😭
Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
Your bundle only supports platforms ["x86_64-darwin-22"] but your local platform
is x86_64-linux. Add the current platform to the lockfile with
`bundle lock --add-platform x86_64-linux` and try again.
○解決策
エラー分の中に、これを→bundle lock --add-platform x86_64-linux
実行してと書いてある!
下記を参考にしながら解決
https://zenn.dev/bon_saurus/articles/18de5c75a7bf85
③最後に難関だったエラー
warning " > webpack-dev-server@3.11.0" has unmet peer dependency
"webpack@^4.0.0 || ^5.0.0".
warning "webpack-dev-server > webpack-dev-middleware@3.7.2" has unmet peer dependency "webpack@^4.0.0".
[4/4] Building fresh packages...
error /tmp/build_4354b829/node_modules/node-sass: Command failed.
長いログの中から、原因を探すのに一苦労💦
assetsのprecompileがfailしたからエラーが出ていますが、その前にnode-sassの記述があるので、node-sassが原因の可能性がある(断定はできないが)、と考えます。
それを前提に前のログの中に、node-sass: Commad Failedになっていてnode-sassのコマンド実行に失敗していることがエラーの原因
なので、仮説は妥当と考え、検証に進みました。
○解決策
node-sassのバージョンがnodeのバージョンと合っていないのが原因
下記サイトを参考に解決
https://zenn.dev/kantafukazawa/articles/f61f2f714c43a3
初めてのデプロイするのに一苦労でした💦
○結論
エラーの原因は、ログの中に書かれている!!