From 7362ac52e4bd4bec18482f8115790935e81b9fa7 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Thu, 25 Mar 2021 12:35:33 -0700 Subject: [PATCH] Fix dependency resolution where default gems are included Parts of the stdlib which have been externalized but are still included within Ruby introduce issues when pinning Vagrant's dependencies to resolve plugin installs. When determining Vagrant's dependency list prior to solution generation, check the specification and ignore any default gems to prevent pinning versions that are not actual dependencies. --- lib/vagrant/bundler.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb index 1165fdf2a..eb2caabb0 100644 --- a/lib/vagrant/bundler.rb +++ b/lib/vagrant/bundler.rb @@ -516,6 +516,9 @@ module Vagrant @logger.debug("Enabling strict dependency enforcement") plugin_deps += vagrant_internal_specs.map do |spec| next if system_plugins.include?(spec.name) + # If this spec is for a default plugin included in + # the ruby stdlib, ignore it + next if spec.default_gem? # If we are not running within the installer and # we are not within a bundler environment then we # only want activated specs