Ruby

Your Ruby version is 3.2.0, but your Gemfile specified 3.1.3

Dockerを使っているとある日突然コンテナが立ち上がらなくなりました。
ビルドすると下記エラーが表示されました。

Your Ruby version is 3.2.0, but your Gemfile specified 3.1.3

日本語に訳すと
「Ruby のバージョンは 3.2.0 ですが、Gemfile は 3.1.3 を指定しています」
特にGemfileを修正した覚えもないのになぜ。。

原因

使用していたイメージは 「ruby:alpine3.16」

docker hubを確認するとRubyのバージョンが「3.1.3」から「3.2.0」にバージョンアップしていました。

なるほど。そりゃバージョン違ってきますよね。。

解決策

2つあります。

①GemfileのRubyのバージョンを合わせる

「ruby “3.1.3“」→「ruby “3.2.0“」

②Gemfileに記載されているイメージを使う

もし3.1.3に合わせるなら「ruby:3.1.3-alpine3.16」とか

まとめ

何もしていないのに急にコンテナが立ち上がらなったので少し焦りました。

イメージのバージョンアップは今後もあると思うのでどちらかというと、毎回修正するのも面倒ですし「②Gemfileに記載されているイメージを使う」の方が対処としてはいいかもしれないです。