-
-
Notifications
You must be signed in to change notification settings - Fork 2k
bundle update foo
can not find compatible versions
#5095
Comments
I can reproduce this, but have no idea why it's happening. A minimal reproduction would definitely help pinpoint what exactly in bundler is causing the issue |
Worth noting this is a regression from Bundler 1.11.2 |
I have a sneaky fix locally for this |
I'm not sure what the PR does exactly, but I fear it doesn't really fix this. With this particular Gemfile, the correct fix would upgrade Is your patch arriving to the same result, or is it keeping it at '0.16.4'? |
Updates ember-rails to 0.18.5 diff --git a/Gemfile.lock b/Gemfile.lock
index a7faded..d2f04f2 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -134,7 +134,7 @@ GEM
babel-transpiler (0.7.0)
babel-source (>= 4.0, < 6)
execjs (~> 2.0)
- barber (0.9.2)
+ barber (0.11.2)
ember-source (>= 1.0, < 3)
execjs (>= 1.2, < 3)
bcrypt-ruby (3.0.1)
@@ -284,13 +284,14 @@ GEM
email_validator (1.1.0)
ember-data-source (1.0.0.beta.16.1)
ember-source (~> 1.8)
- ember-rails (0.16.4)
+ ember-handlebars-template (0.7.4)
+ barber (>= 0.11.0)
+ sprockets (>= 3.3, < 4)
+ ember-rails (0.18.5)
active_model_serializers
- barber (>= 0.6.0)
ember-data-source (>= 1.0.0.beta.5)
+ ember-handlebars-template (>= 0.1.1, < 1.0)
ember-source (>= 1.1.0)
- execjs (>= 1.2)
- handlebars-source (> 1.0.0, < 3)
jquery-rails (>= 1.0.17)
railties (>= 3.1)
ember-source (1.9.1)
@@ -299,7 +300,7 @@ GEM
erubis (2.7.0)
eventmachine (1.2.0.1)
excon (0.51.0)
- execjs (2.6.0)
+ execjs (2.7.0)
exifr (1.2.4)
eye (0.8.1)
celluloid (~> 0.17.3)
@@ -581,7 +582,7 @@ GEM
jmespath (1.3.1)
journey (1.0.4)
jquery-migrate-rails (1.2.1)
- jquery-rails (4.1.1)
+ jquery-rails (4.2.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0) |
Oh, great! I note that it updaded |
Nope, since those aren't explicitly included in the Gemfile, bundler is free to update them. Take a look at the conservative update flags if you'd prefer bundler not do that |
I'm quite surprised that explicit inclusion in Gemfile makes a difference, I don't quite see why that's the case and would lean to disagree with that. |
I can try to explain the explicit inclusion in Gemfile (I need to sorta write this up for related work anyway, so this was a good excuse): If a given Gemfile and lockfile haven't changed, they've been pulled fresh from git, then If a change is made to the Gemfile, say a newer version of gem If you only asked for The problem comes when other gems you request in your Gemfile might also depend on If Bundler chooses to favor So, this leads us to the rule: "All of But what if one of This is (hopefully) what this section on Conservative Updates in Now to bring this back around to this ticket: If you think |
…, r=indirect [Resolver] Consider locked dependencies first Closes #5031 Closes #5095 \c @marcandre @indirect
If I understand correctly, problem mentioned here is fixed with 1.14.4.
Where in fact actionpack 4.2.7.1 depends on activesupport 4.2.7.1 (https://rubygems.org/gems/actionpack/versions/4.2.7.1) bundler 1.13.6 is working correctly. I got this error on travis-ci where latest (1.14.4) version is used. |
@miks please open a new issue with a gemfile we can use to debug, thanks! |
Changes since last version used (1.14.6): == 1.15.1 (2017-06-02) Bugfixes: - `bundle lock --update GEM` will fail gracefully when the gem is not in the lockfile (rubygems/bundler#5693, @segiddins) - `bundle init --gemspec` will fail gracefully when the gemspec is invalid (@colby-swandale) - `bundle install --force` works when the gemfile contains git gems (rubygems/bundler#5678, @segiddins) - `bundle env` will print well-formed markdown when there are no settings (rubygems/bundler#5677, @segiddins) == 1.15.0 (2017-05-19) This space intentionally left blank. == 1.15.0.pre.4 (2017-05-10) Bugfixes: - avoid conflicts when `Gem.finish_resolve` is called after the bundle has been set up (@segiddins) - ensure that `Gem::Specification.find_by_name` always returns an object that can have `#to_spec` called on it (rubygems/bundler#5592, @jules2689) == 1.15.0.pre.3 (2017-04-30) Bugfixes: - avoid redundant blank lines in the readme generated by `bundle gem` (@koic) - ensure that `open-uri` is not loaded after `bundle exec` (@segiddins) - print a helpful error message when an activated default gem conflicts with a gem in the gemfile (@segiddins) - only shorten `ref` option for git gems when it is a SHA (rubygems/bundler#5620, @segiddins) == 1.15.0.pre.2 (2017-04-23) Bugfixes: - ensure pre-existing fit caches are updated from remote sources (rubygems/bundler#5423, @alextaylor000) - avoid duplicating specs in the lockfile after updating with the gem uninstalled (rubygems/bundler#5599, @segiddins) - ensure git gems have their extensions available at runtime (rubygems/bundler#5594, @jules2689, @segiddins) == 1.15.0.pre.1 (2017-04-16) Features: - print a notification when a newer version of bundler is available (rubygems/bundler#4683, @segiddins) - add man pages for all bundler commands (rubygems/bundler#4988, @feministy) - add the `bundle info` command (@fredrb, @colby-swandale) - all files created with `bundle gem` comply with the bundler style guide (@zachahn) - if installing a gem fails, print out the reason the gem needed to be installed (rubygems/bundler#5078, @segiddins) - allow setting `gem.push_key` to set the key used when running `rake release` (@DTrierweiler) - print gem versions that are regressing during `bundle update` in yellow (rubygems/bundler#5506, @brchristian) - avoid printing extraneous dependencies when the resolver encounters a conflict (@segiddins) - add the `bundle issue` command that prints instructions for reporting issues (rubygems/bundler#4871, @jonathanpike) - add `--source` and `--group` options to the `bundle inject` command (rubygems/bundler#5452, @Shekharrajak) - add the `bundle add` command to add a gem to the gemfile (@denniss) - add the `bundle pristine` command to re-install gems from cached `.gem` files (rubygems/bundler#4509, @denniss) - add a `--parseable` option for `bundle config` (@JuanitoFatas, @colby-swandale) Performance: - speed up gemfile initialization by storing locked dependencies as a hash (@jules2689) - speed up gemfile initialization by making locked dependency comparison lazy, avoiding object allocation (@jules2689) - only validate git gems when they are downloaded, instead of every time `Bundler.setup` is run (@segiddins) - avoid regenerating the lockfile when nothing has changed (@segiddins) - avoid diffing large arrays when no sources in the gemfile have changed (@segiddins) - avoid evaluating full gemspecs when running with RubyGems 2.5+ (@segiddins) Bugfixes: - fix cases where `bundle update` would print a resolver conflict instead of updating the selected gems (rubygems/bundler#5031, rubygems/bundler#5095, @segiddins) - print out a stack trace after an interrupt when running in debug mode (@segiddins) - print out when bundler starts fetching a gem from a remote server (@segiddins) - fix `bundle gem` failing when `git` is unavailable (rubygems/bundler#5458, @Shekharrajak, @colby-swandale) - suggest the appropriate command to unfreeze a bundle (rubygems/bundler#5009, @denniss) - ensure nested calls to `bundle exec` resolve default gems correctly (rubygems/bundler#5500, @segiddins) - ensure that a plugin failing to install doesn't uninstall other plugins (@kerrizor, @roseaboveit) - ensure `socket` is required before being referenced (rubygems/bundler#5533, @rafaelfranca) - allow running `bundle outdated` when gems aren't installed locally (rubygems/bundler#5553, @segiddins) - print a helpful error when `bundle exec`ing to a gem that isn't included in the bundle (rubygems/bundler#5487, @segiddins) - print an error message when a non-git gem is given a `branch` option (rubygems/bundler#5530, @colby-swandale) - allow interrupts to exit the process after gems have been installed (@segiddins) - print the underlying error when downloading gem metadata fails (rubygems/bundler#5579, @segiddins) - avoid deadlocking when installing with a lockfile that is missing dependencies (rubygems/bundler#5378, rubygems/bundler#5480, rubygems/bundler#5519, rubygems/bundler#5526, rubygems/bundler#5529, rubygems/bundler#5549, rubygems/bundler#5572, @segiddins)
I may be missing something, but my understanding is that if
bundle install
works fine, then a subsequentbundle update foo
should never fail (assuming no changes to theGemfile
). At worst it should resolvefoo
to whatever version is already in theGemfile.lock
, no?I've attached my
Gemfile
&Gemfile.lock
. To reproduce my issue,bundle && bundle update ember-rails
. For some reason it's trying to upgrade Rails to v5 and (rightfully) failing:Gemfile_with_lock.zip
PS: I've made no attempt to minimize my
Gemfile
to get that effect, let me know if I should.The text was updated successfully, but these errors were encountered: