如何降级捆绑包或升级rails?

时间:2012-03-15 18:23:26

标签: ruby-on-rails-3 gem bundler omniauth gem-bundler

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

答案 0 :(得分:100)

尝试以下命令:

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

答案 1 :(得分:11)

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

gem install bundler --version '<= 0.10.6'

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

bundle _0.9.26_ install

了解更多信息:How to upgrade/downgrade Rubygems at ruby​​forge

答案 2 :(得分:1)

要降级,只需键入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

只需选择要卸载的版本。

答案 3 :(得分:0)

如果您想降级或升级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个Bundle版本2.0.2和1.17.3。现在,我将卸载2.0.2,因为我将使用1.17.3。但是,当我尝试使用此命令gem uninstall bundler --version '2.0.2'卸载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

答案 4 :(得分:0)

第1步:使用以下命令安装旧版本(例如1.17.3

gem install bundler --version '1.17.3'

第2步:使用以下方法卸载较新的版本:

gem uninstall bundler

答案 5 :(得分:0)

gem卸载捆绑程序-v 2.2.0 为我工作