问题
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