def requested_dependencies(without)
      Bundler.settings.temporary(without: without) do
        definition = Bundler::Definition.build(gemfile_path, gemfile_lock, nil)
        definition.send(:requested_dependencies)
      end
    end
def requested_dependencies(without)
      Bundler.settings.temporary(without: without) do
        definition = Bundler::Definition.build(gemfile_path, gemfile_lock, nil)
        definition.send(:requested_dependencies)
      end
    end
This is only used in the 3-arg version.  The gemfile_path is the path into the actual
 installed gem, e.g.: /opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/berkshelf-7.0.7/Gemfile

 The gemfile_lock is the omnibus gemfile.lock which is in this case:
 /var/cache/omnibus/src/chef-dk/chef-dk-3.8.14/Gemfile.lock

 This solves the app gems dependencies against the Gemfile.locks pins so that they do not
 conflict (assuming such a solution can be found).

 The "without" argument here applies to the app's Gemfile.  There is no information in
 a rendered Gemfile.lock about gem groupings (literally none of that information is ever
 rendered by bundler into a Gemfile.lock -- open one up and look for yourself).  So this
 without argument then applies only to the transitive gemfile locking creation.  This
 codepath does not affect what gems we ship, and does not affect the generation of the
 binstubs.