class Gem::RequestSet

def install_into(dir, force = true, options = {})

def install_into(dir, force = true, options = {})
  gem_home = ENV["GEM_HOME"]
  ENV["GEM_HOME"] = dir
  existing = force ? [] : specs_in(dir)
  existing.delete_if {|s| @always_install.include? s }
  dir = File.expand_path dir
  installed = []
  options[:development] = false
  options[:install_dir] = dir
  options[:only_install_dir] = true
  @prerelease = options[:prerelease]
  sorted_requests.each do |request|
    spec = request.spec
    if existing.find {|s| s.full_name == spec.full_name }
      yield request, nil if block_given?
      next
    end
    spec.install options do |installer|
      yield request, installer if block_given?
    end
    installed << request
  end
  install_hooks installed, options
  installed
ensure
  ENV["GEM_HOME"] = gem_home
end