diff --git a/lib/rubygems/vendored_net_http.rb b/lib/rubygems/vendored_net_http.rb index 0c0f8d446d6394..a84c52a9470675 100644 --- a/lib/rubygems/vendored_net_http.rb +++ b/lib/rubygems/vendored_net_http.rb @@ -1,3 +1,5 @@ # frozen_string_literal: true -require_relative "vendor/net-http/lib/net/http" +# Ruby 3.3 and RubyGems 3.5 is already load Gem::Timeout from lib/rubygems/net/http.rb +# We should avoid to load it again +require_relative "vendor/net-http/lib/net/http" unless defined?(Gem::Net::HTTP) diff --git a/lib/rubygems/vendored_timeout.rb b/lib/rubygems/vendored_timeout.rb index 6b8e1c7aa86eac..45541928e672d4 100644 --- a/lib/rubygems/vendored_timeout.rb +++ b/lib/rubygems/vendored_timeout.rb @@ -1,3 +1,5 @@ # frozen_string_literal: true -require_relative "vendor/timeout/lib/timeout" +# Ruby 3.3 and RubyGems 3.5 is already load Gem::Timeout from lib/rubygems/timeout.rb +# We should avoid to load it again +require_relative "vendor/timeout/lib/timeout" unless defined?(Gem::Timeout)