89

我将omniauth gem 添加到我的gemfile 并尝试运行bundle install,但收到有关rails 和bundler 版本不兼容的消息。我尝试更新 rails,但收到有关与其他 gem 不兼容的消息。如何将捆绑程序降级到 1.0?

$ bundle install
Fetching gem metadata from http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
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.1)

This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

$ bundle update rails
Fetching gem metadata from http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    factory_girl_rails (>= 0) ruby depends on
      bundler (~> 1.0.0) ruby

  Current Bundler version:
    bundler (1.1.1)
4

6 回答 6

153

尝试以下命令:

gem uninstall bundler
gem install bundler --version '1.0.0'
于 2012-03-15T18:27:39.953 回答
27

要安装降级版本的捆绑器,请尝试:

gem install bundler --version '<= 0.10.6'

因此您可以安装两个版本(检查:gem list bundler/ bundler _0.9.26_ -v),然后使用该特定版本运行,例如:

bundle _0.9.26_ install

了解更多:如何在 ruby​​forge升级/降级 Rubygems

于 2016-04-10T22:54:06.997 回答
7

如果您想降级或升级您bundler 的在我们尝试卸载全局捆绑程序版本时出现一些问题。我用自己的技术解决了这个问题。按照步骤:

步骤 1:运行:gem list bundler

*** LOCAL GEMS ***
bundler (2.0.2, 1.17.3)
bundler-unload (1.0.2)
rubygems-bundler (1.4.4)

我这里有 2 个捆绑器版本 2.0.2 和 1.17.3。现在我卸载 2.0.2,因为我将使用 1.17.3。但是当我尝试使用此命令卸载 2.0.2 时,gem uninstall bundler --version '2.0.2'我发现一个错误:

ERROR:  While executing gem ... (Gem::InstallError)
bundler is not installed in GEM_HOME, try:
    gem uninstall -i /home/habib/.rvm/gems/ruby-2.3.1@global bundler

因为它是我的全球捆绑器。但是错误消息有解决方案。然后我尝试第 2 步。

步骤 2:运行gem uninstall -i /home/habib/.rvm/gems/ruby-2.3.1@global bundler

输出: Successfully uninstalled bundler-2.0.2

步骤 3:我再次检查我的捆绑器列表运行gem list bundler

*** LOCAL GEMS ***

bundler (1.17.3)
bundler-unload (1.0.2)
capistrano-bundler (1.2.0)
rubygems-bundler (1.4.4)

在这里我只有一个捆绑1.17.3器,我可以在任何项目中使用它

检查您的捆绑器版本:运行bundler -v

output: Bundler version 1.17.3

于 2019-10-04T15:29:32.447 回答
6

要降级,只需键入gem uninstall bundler它将显示:

Select gem to uninstall:
 1. bundler-1.13.7
 2. bundler-1.14.4
 3. bundler-1.16.4
 4. bundler-2.0.2
 5. All versions

只需选择要卸载的版本。

于 2019-06-13T22:25:24.663 回答
4

第 1 步:安装旧版本(例如1.17.3):

gem install bundler --version '1.17.3'

第 2 步:使用以下命令卸载较新版本:

gem uninstall bundler
于 2019-12-20T13:55:08.423 回答
0

gem uninstall bundler -v 2.2.0 为我工作

于 2020-12-10T11:50:06.943 回答