class Bundler::Source::Rubygems
def install(spec)
def install(spec) path = cached_gem(spec) if installed_specs[spec].any? Bundler.ui.info "Using #{spec.name} (#{spec.version}) " return end Bundler.ui.info "Installing #{spec.name} (#{spec.version}) " install_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir options = { :install_dir => install_path, :ignore_dependencies => true, :wrappers => true, :env_shebang => true } options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty? installer = Gem::Installer.new path, options installer.install # SUDO HAX if Bundler.requires_sudo? sudo "mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications" sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/" sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/" spec.executables.each do |exe| sudo "mkdir -p #{Gem.bindir}" sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}" end end spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec" end