Bundle install could not find compatible versions for gem “bundler”

喜夏-厌秋 提交于 2020-06-09 12:13:52

问题


When I type bundle install I got this error. I tried to find solution but nothing solve my case. Please help me.

 Bundler could not find compatible versions for gem "bundler":
      In Gemfile:
        rails (= 4.1.8) was resolved to 4.1.8, which depends on
          bundler (< 2.0, >= 1.3.0)

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

    Could not find gem 'bundler (< 2.0, >= 1.3.0)', which is required by gem 'rails
    (= 4.1.8)', in any of the sources.

    Bundler could not find compatible versions for gem "rails":
      In Gemfile:
        rails (= 4.1.8)

        animate-rails was resolved to 1.0.10, which depends on
          rails

回答1:


Your bundler gem is too big. You can downgrade for now by changing your gemfile to specify the lower version, and deleting the lock file again.

gem 'bundler', '1.17.1' 

Then try these commands in the terminal

gem install bundler -v 1.17.1
gem uninstall bundler -v 2.0.1
bundle update --bundler
bundle install

That last install command might be redundant. I'm on my phone so I can't test anything unfortunately.

Best of luck!

EDIT:

This is now a Heroku issue. Got it. Heroku docs regarding Bundler

Libraries The following libraries are used by the platform for managing and running >Ruby applications and cannot be specified. For application dependency resolution and management, bundler is installed based on the contents of your Gemfile.lock. If you have a BUNDLED WITH in your Gemfile.lock then you will receive a different version of Bundler:

Applications specifying Bundler 2.x in their Gemfile.lock will receive bundler: 2.0.1 Applications specifying Bundler 1.x in their Gemfile.lock will receive bundler: 1.15.2 Applications with no BUNDLED WITH in their Gemfile.lock will default to bundler: 1.15.2 For more information on available settings see Bundler configuration. For more information on why we only support a specific set of bundler versions, please see this article about your Bundler version.

So it seems like Heroku only allows certain versions of Bundler to be compatible, relevant doc is linked. Downgrade to 1.15.2 and give it another shot.




回答2:


Alternatively, you can also remove bundler 2.x completely and only use Bundler 1.x:

gem uninstall bundler -v ">= 2.0" 
gem install bundler -v "< 2.0" 

# Now you can use bundler as before
bundle install



回答3:


Try to use

gem install bundler -v 1.17.3
bundle _1.17.3_ install



回答4:


You don't need to uninstall the newest version of bundler (especially if you have other applications).

First find the bundler version that you need. For example, after running bundle install:

Could not find gem 'bundler (>= 1.3.0, < 2.0)', which is required by gem 'rails (~> 4.2)', in any of the sources.

I need any version between 1.3.0 and 2.0. Hence, I would go for bundler 1.9.

Then, install the bundler:

gem install bundler -v 1.9

Run that bundler version to install gems:

bundler _1.9_ install


来源:https://stackoverflow.com/questions/54901077/bundle-install-could-not-find-compatible-versions-for-gem-bundler

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!