如何降级Bundler或升级Rails?

93

在我的gemfile中添加了omniauth gem,并尝试运行bundle install,但是收到了有关rails和bundler版本不兼容的消息。我尝试更新rails,但是得到了有关与其他gems不兼容的消息。如何将bundler降级到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)
6个回答

163

尝试以下命令:

gem uninstall bundler
gem install bundler --version '1.0.0'

45
无法卸载Gem bundler-2.1.2,因为它是默认的gem。 - Alexander Paul Wansiedler

32

要安装降级版本的Bundler,请尝试:

gem install bundler --version '<= 0.10.6'

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

bundle _0.9.26_ install

了解更多信息:如何升级/降级Rubygems,请访问rubyforge。


8
如果您想降级或升级您的 bundler,当我们尝试卸载全局 bundler 版本时会遇到一些问题。我用自己的技术解决了这个问题。请按照以下步骤操作:
步骤 1:运行:gem list bundler
*** LOCAL GEMS ***
bundler (2.0.2, 1.17.3)
bundler-unload (1.0.2)
rubygems-bundler (1.4.4)

我这里有两个bundler版本,分别是2.0.21.17.3。现在我要卸载2.0.2,因为我想使用1.17.3。但是当我尝试使用以下命令卸载2.0.2gem 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:运行gem uninstall -i /home/habib/.rvm/gems/ruby-2.3.1@global bundler 输出:成功卸载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)

我只有一个bundler版本1.17.3,可以在我的任何项目中使用它

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

输出: Bundler版本1.17.3


8
步骤1: 使用以下命令安装旧版本 (例如1.17.3):
gem install bundler --version '1.17.3'

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

gem uninstall bundler

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

只需选择您要卸载的版本。


0

gem uninstall bundler -v 2.2.0 这对我有用


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接