From 385dc5dc168504b38f59036d17aa4e012b72f1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 31 Jan 2025 09:19:49 +0100 Subject: [PATCH] [rubygems/rubygems] Don't potentially load remote metadata when expanding dependencies For installed specifications, we can ignore any constraints they may have, since we know they match the current version of Ruby or otherwise would not be installed. For remote specifications, we already resolve optimistically without metadata and retry force-fetching it if necessary. If in the future we support resolving against a Ruby version different that the one being run, we'll probably need to change this but now it's unnecessary and saves some memory. ### Before Total allocated: 262.99 MB (3177437 objects) Total retained: 115.91 MB (1297821 objects) ### After Total allocated: 259.89 MB (3134199 objects) Total retained: 115.05 MB (1283779 objects) https://github.com/rubygems/rubygems/commit/201c1863fc --- lib/bundler/match_metadata.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bundler/match_metadata.rb b/lib/bundler/match_metadata.rb index 25d82b0983..6fd2994a85 100644 --- a/lib/bundler/match_metadata.rb +++ b/lib/bundler/match_metadata.rb @@ -16,8 +16,8 @@ module Bundler def expanded_dependencies runtime_dependencies + [ - metadata_dependency("Ruby", required_ruby_version), - metadata_dependency("RubyGems", required_rubygems_version), + metadata_dependency("Ruby", @required_ruby_version), + metadata_dependency("RubyGems", @required_rubygems_version), ].compact end