【问题标题】:How to downgrade bundler or upgrade rails?如何降级捆绑器或升级导轨?
【发布时间】:2012-04-01 07:40:44
【问题描述】:

我将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)

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      gem install bundler --version '1.17.3'
      

      第 2 步:卸载较新版本:

      gem uninstall bundler
      

      【讨论】:

        【解决方案3】:

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

        第一步:运行: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。但是当我尝试使用此命令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 步。

        第二步:运行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】:

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

          只需选择要卸载的版本即可。

          【讨论】:

            【解决方案5】:

            尝试以下命令:

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

            【讨论】:

            • Gem bundler-2.1.2 cannot be uninstalled because it is a default gem
            【解决方案6】:

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

            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 ruby​​forge

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-11-17
              • 2017-07-26
              • 2021-04-30
              相关资源
              最近更新 更多