web-dev-qa-db-ja.com

Gemfileに古いバージョンのbundlerが必要な場合に「バンドルインストール」する方法

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

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 ...を使用しますが、私が話しているバンドラは、それよりも少し複雑です。どのようにGemfileにgemを追加し、必要なバンドラのバージョンを使用しながらbundle installを実行できますか?

51
Andrew

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

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

次に、必要なバージョンを使用するようにrubygemsを強制します( この投稿を参照 ):

% bundle _1.0.22_ install
99
alexsanford1

MacOS Mojaveでも同じ問題が発生しました。異なるバージョンのbundler gemをインストールし、現在のバージョンをアンインストールしました。

gem install bundler -i '2.0.1'

gem uninstall bundler

次に、アンインストールするバージョンを選択するオプションが表示され、問題を引き起こしているバージョンを選択します。

0
gsumk