はじめに
今回はローカルでrailsで環境構築した後、Renderにてデプロイする際によく起きるエラーと対処法を備忘録としてまとめてみます
事象
ローカル環境でrailsチュートリアルを学習中、1章で最初のデプロイをRenderにする際にエラーが発生
エラー内容
`validate_platforms!': Your bundle only supports platforms ["x64-mingw-ucrt"]
but your local platform is x86_64-linux. Add the current platform to the lockfile
with (Bundler::ProductionError)
原因
bundlerが実行できるプラットフォームが制限されている。ローカルでRailsアプリを作成すると、bundlerが実行できるプラットフォームはRailsを実行した環境OSのみとなるらしい。今回はWindowsでbundle installしたためWindowsOSのみの環境になっている。そのためLinuxなど別のOSでbundlerを実行することが出来なくなっている
対処法
次のコマンドを打つ
コマンドライン
bundle lock --add-platform x86_64-linux
Gemfile.lock内にプラットフォームが追加されたことを確認する
Gemfile.lock
PLATFORMS
x64-mingw-ucrt
x86_64-linux
実行結果
デプロイ成功
おわりに
今回の対処法についてはRailsチュートリアル2章で出てきますが最初にデプロイする1章では解説されず戸惑う方もいそうなのでまとめてみました。原因に関しましてはエラー原因を独自に調査した結果独自の解釈をまとめてみました。もし違うよというご意見ありましたら教えてください