diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index 3bb849d98f..61add4be10 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -626,7 +626,7 @@ module Bundler last_resolve = converge_locked_specs remove_invalid_platforms! packages = Resolver::Base.new(source_requirements, expanded_dependencies, last_resolve, @platforms, locked_specs: @originally_locked_specs, unlock: @unlocking_all || @gems_to_unlock, prerelease: gem_version_promoter.pre?, prefer_local: @prefer_local, new_platforms: @new_platforms) - packages = additional_base_requirements_to_prevent_downgrades(packages, last_resolve) + packages = additional_base_requirements_to_prevent_downgrades(packages) packages = additional_base_requirements_to_force_updates(packages) packages end @@ -1093,9 +1093,9 @@ module Bundler current == proposed end - def additional_base_requirements_to_prevent_downgrades(resolution_packages, last_resolve) + def additional_base_requirements_to_prevent_downgrades(resolution_packages) return resolution_packages unless @locked_gems && !sources.expired_sources?(@locked_gems.sources) - converge_specs(@originally_locked_specs - last_resolve).each do |locked_spec| + converge_specs(@originally_locked_specs).each do |locked_spec| next if locked_spec.source.is_a?(Source::Path) resolution_packages.base_requirements[locked_spec.name] = Gem::Requirement.new(">= #{locked_spec.version}") end