1. ホーム
  2. ruby-on-rails

[解決済み] Gemfile が古いバージョンの bundler を要求している場合、どのように `bundle install` するのですか?

2023-02-05 14:24:10

質問

Gemfileを持つ古いRailsプロジェクトに参加しています。Gemfileにgemを追加しようとしたところ bundle install を追加しようとしましたが、エラーが発生しました。

Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails (= 3.0.0) ruby depends on
      bundler (~> 1.0.0) ruby

  Current Bundler version:
    bundler (1.1.5)

This Gemfile requires a different version of Bundler.

使用している Rails のバージョンは bundler ~>1.0.0 が必要ですが、私は 1.1.5 をインストールしており、他のプロジェクトではそれを使用しています。通常であれば、私は bundle exec ... を使いますが、これはbundlerの話なので、それより少し複雑です。どうすれば Gemfile に gem を追加して bundle install を実行しながら、それが必要とする bundler のバージョンを使用するにはどうしたらよいでしょうか?

どのように解決するのですか?

まず、適切なバージョンの bundler をインストールする必要があります。

% gem install bundler -v '~> 1.0.0'
Successfully installed bundler-1.0.22

そして、rubygemsに強制的に好きなバージョンを使わせます( この投稿を見る ):

% bundle _1.0.22_ install