class Gem::DependencyInstaller

def install(dep_or_name, version = Gem::Requirement.default)

def install(dep_or_name, version = Gem::Requirement.default)
  request_set = resolve_dependencies dep_or_name, version
  @installed_gems = []
  options = {
    bin_dir: @bin_dir,
    build_args: @build_args,
    document: @document,
    env_shebang: @env_shebang,
    force: @force,
    format_executable: @format_executable,
    ignore_dependencies: @ignore_dependencies,
    prerelease: @prerelease,
    security_policy: @security_policy,
    user_install: @user_install,
    wrappers: @wrappers,
    build_root: @build_root,
    install_as_default: @install_as_default,
    dir_mode: @dir_mode,
    data_mode: @data_mode,
    prog_mode: @prog_mode,
  }
  options[:install_dir] = @install_dir if @only_install_dir
  request_set.install options do |_, installer|
    @installed_gems << installer.spec if installer
  end
  @installed_gems.sort!
  # Since this is currently only called for docs, we can be lazy and just say
  # it's documentation. Ideally the hook adder could decide whether to be in
  # the background or not, and what to call it.
  in_background "Installing documentation" do
    Gem.done_installing_hooks.each do |hook|
      hook.call self, @installed_gems
    end
  end unless Gem.done_installing_hooks.empty?
  @installed_gems
end