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

Joh*_*nHF 69 gem bundler omniauth ruby-on-rails-3 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`?
Run Code Online (Sandbox Code Playgroud)

$ 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)
Run Code Online (Sandbox Code Playgroud)

bru*_*077 122

请尝试以下命令:

gem uninstall bundler
gem install bundler --version '1.0.0'
Run Code Online (Sandbox Code Playgroud)

  • `Gem bundler-2.1.2 无法卸载,因为它是默认的 gem` (26认同)

ken*_*orb 17

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

gem install bundler --version '<= 0.10.6'
Run Code Online (Sandbox Code Playgroud)

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

bundle _0.9.26_ install
Run Code Online (Sandbox Code Playgroud)

了解更多:如何在rubyforge 上升级/降级Rubygems


小智 8

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

步骤 1:运行:gem list bundler

*** LOCAL GEMS ***
bundler (2.0.2, 1.17.3)
bundler-unload (1.0.2)
rubygems-bundler (1.4.4)
Run Code Online (Sandbox Code Playgroud)

我这里有 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
Run Code Online (Sandbox Code Playgroud)

因为它是我的全球捆绑器。但错误消息有解决方案。然后我尝试步骤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)
Run Code Online (Sandbox Code Playgroud)

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

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

output: Bundler version 1.17.3


Mar*_*vic 8

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

gem install bundler --version '1.17.3'
Run Code Online (Sandbox Code Playgroud)

步骤 2:卸载较新版本:

gem uninstall bundler
Run Code Online (Sandbox Code Playgroud)


ste*_*999 5

要降级,只需键入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
Run Code Online (Sandbox Code Playgroud)

只需选择要卸载的版本。