RenderでRailsをデプロイしたらRubyのバージョン不一致で怒られるときにやったこと
2023-02-12
はじめに
RailsアプリをRenderで実行するとbundle install
のタイミングでエラーが出ました。使っているGemfile
の書式が実行しているRubyバージョンと不一致で怒られていました。
エラー内容
Your Ruby version is 2.6.8, but your Gemfile specified 3.2.0
==> Build failed 😞
どのように解決したかについて紹介 します。
解決方法
RenderではデフォルトでRuby 2.6.8
を実行します。Renderは自動でGemfile
や.ruby-version
に指定したRubyのバージョンに切り替わるのですが、うまく切り替わっていませんでした。
原因としては、実行したいRailsのディレクトリ構成が、/environment/hello_app/Gemfile
という感じだったので、おそらくビルド前のバージョンチェックをするときは、ディレクトリ直下のファイルのみを参照しているっぽそうなのが原因みたいでした。(なんとなくなのでもしかしたら違うかもです)
そこで、ディレクトリ直下に/.ruby-version
を作成し、動かしたいRubyのバージョンを指定することで、bundle install
が動き出しました。
.ruby-versionの例
3.2.0
最後に
とりあえず、Renderでbundle install
が動きました。あとは、どうにかしてpuma start
を動くようにしたいと思います。