2
1

More than 3 years have passed since last update.

You must use Bundler 2 or greater with this lockfile. 解決法

Posted at

はじめに

既存railsアプリをDockerに切り替える時に起きた問題になります。
正確には下のコマンドのようにビルドしようとした時に起きる問題です。
$ docker-compose build

発生したエラーメッセージ

$ docker-compose build
・
・
・
Step 9/10 : RUN bundle install
 ---> Running in 11137a2dced0
You must use Bundler 2 or greater with this lockfile.
ERROR: Service 'web' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 20

はまったこと

You must use Bundler 2 or greater with this lockfile.
(このロックファイルではbundler2以上を使用する必要がある)
と言われているのにbundlerのバージョンは2以上を使用しているという件。

ここで本気ではまりました。
bundlerの2.0.1がよくなかったらしいです。
なので、バージョンを下げて行います。
1系のbundlerをインストールします。

解決するために行う手順

  • bundle installの前にまずはバージョン指定をしてbundlerをインストールするように書く
dockerfile
RUN gem install bundler -v 1.3.0
RUN bundle install
  • Gemfile.lockを空にする
  • docker-coompose buildを行う これでエラーを解決できました。

振り返り

You must use Bundler 2 or greater with this lockfile.
今回はこのメッセージに振り回されました。
解決策を見つけるのに時間がかかったため、記事にしたいと思い作成しました。
色々とググることでありつけたので、もっとググり力と問題解決力をつけて成長できるように頑張ります。

解決するにあたってお世話になったサイト

②Dockerを初めて導入してRails sする (2020.4時点)

2
1
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
2
1