summaryrefslogtreecommitdiff
path: root/lib/rubygems/resolver/activation_request.rb
diff options
context:
space:
mode:
authorDavid Rodríguez <[email protected]>2024-08-29 14:24:00 +0200
committergit <[email protected]>2024-09-11 11:28:35 +0000
commite52d4d462f9b4d10f6d29a69058c5117399c968e ()
tree82596e7bca768686d6f4e58f906e23cb5813a1c3 /lib/rubygems/resolver/activation_request.rb
parent89eba5074e8ffc28a54646d40f6915d279be367d (diff)
[rubygems/rubygems] Fix `bundle exec rake install` failing when local gem has extensions and `gemspec` DSL is being used
In a `bundle exec` context, the local specification will actually be part of the known specifications, so RubyGems will assume it has already been installed, which is not actually true. This will cause `RequestSet` to rebuild extensions for a gem that's not actually installed, causing errors. The fix is to make sure detection of installed activation requests considers not only that there's a known spec with the same full name as the one being installed, but also that this spec is installed in the same gem_home were pretend to install the new gem. https://.com/rubygems/rubygems/commit/a8ef1286a6
-rw-r--r--lib/rubygems/resolver/activation_request.rb2
1 files changed, 1 insertions, 1 deletions
@@ -106,7 +106,7 @@ class Gem::Resolver::ActivationRequest
this_spec = full_spec
Gem::Specification.any? do |s|
- s == this_spec
end
end
end