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を動くようにしたいと思います。

参考サイト

Tatsumi0000

Written by Tatsumi0000 モバイル開発が好きなエンジニアのブログです. GitHub

Copyright © 2023, Tatsumi0000 All Rights Reserved.