0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker コンテナ内での Ruby バージョン不一致エラーの解決方法

Posted at

はじめに

Docker を使用して Ruby on Rails アプリケーションを開発していると、よく遭遇するエラーの一つが「Ruby のバージョン不一致」に関する問題です。特に docker-compose up --build や bundle install の際に、Gemfile に指定された Ruby バージョンと Docker コンテナ内で実行されている Ruby バージョンが異なると、エラーが発生します。この記事では、このエラーを解決する方法をステップバイステップで解説します。

エラーの例

例えば、次のようなエラーメッセージが表示されることがあります

Your Ruby version is 3.2.8, but your Gemfile specified 3.4.3

このエラーメッセージが示しているのは、Gemfile に記載された Ruby バージョンが現在の環境と異なっている ということです。これを解決するためには、Ruby のバージョンを一致させる必要があります。

解決方法

1.Gemfile の Ruby バージョンを修正

まず最初に、Gemfile 内で指定している Ruby バージョンを、コンテナで使用しているバージョンに合わせる必要があります。エラーメッセージに ruby "3.2.8" とあった場合、Gemfile の内容を次のように変更します。

修正前:

ruby "3.4.3"

修正後:

ruby "3.2.8"

2.bundle install の実行

bundle install

3. Docker コンテナを再ビルド

docker-compose up --build

まとめ

このエラーは、Gemfile に記載された Ruby バージョンと Docker コンテナ内で実行される Ruby バージョンが異なることによって発生します。バージョンを一致させることで解決できるので、Gemfile を修正して、bundle install を再実行し、Docker コンテナを再ビルドすることで問題が解消されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?