class Bundler::Bundle
def prune(options = {})
def prune(options = {}) dependencies, sources = @environment.gem_dependencies, @environment.sources sources.each do |s| s.local = true end sources = only_local(sources) bundle = Resolver.resolve(dependencies, [@cache] + sources) @cache.gems.each do |name, specs| specs.each do |spec| unless bundle.any? { |s| s.name == spec.name && s.version == spec.version } Bundler.logger.info "Pruning #{spec.name} (#{spec.version}) from the cache" FileUtils.rm @cache_path.join("#{spec.full_name}.gem") end end end end