如何在Gemfile需要旧版本的bundler时"捆绑安装"?

And*_*rew 55 ruby ruby-on-rails bundler

我在一个旧的Rails项目中有一个Gemfile.我试图在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.
Run Code Online (Sandbox Code Playgroud)

它使用的Rails版本需要捆绑器〜> 1.0.0但我安装了1.1.5并且正在将其用于我的其他项目.通常我会使用,bundle exec ...但因为这是我们所说的捆绑器,它比这复杂一点.如何在我的Gemfile中添加gem并bundle install在使用它所需的Bundler 版本时运行?

ale*_*rd1 106

首先,您需要安装适当版本的bundler:

% gem install bundler -v '~> 1.0.0'
Successfully installed bundler-1.0.22
Run Code Online (Sandbox Code Playgroud)

然后强制rubygems使用你想要的版本(见这篇文章):

% bundle _1.0.22_ install
Run Code Online (Sandbox Code Playgroud)

  • 现在不工作。它不能强制rubygems使用`bundle _1.0.22_ install`指定的版本 (6认同)
  • 我不知道这个功能.谢谢! (4认同)
  • 这些天要使用确切的版本,您需要使用`gem install bundler -v'= 1.16.0'`。 (2认同)

Kme*_*ner 10

这是我必须做的才能让它与以前版本(2.2.11)的捆绑器一起安装:

gem install bundler:2.2.11
bundle _2.2.11_ install
Run Code Online (Sandbox Code Playgroud)