aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/uninstall.rb12
1 files changed, 5 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb
index cf4f098ee..6929a49a7 100644
--- a/Library/Homebrew/cmd/uninstall.rb
+++ b/Library/Homebrew/cmd/uninstall.rb
@@ -23,20 +23,18 @@ module Homebrew extend self
raise "Invalid usage" if name.include? '/'
rack = HOMEBREW_CELLAR/name
+
if rack.directory?
puts "Uninstalling #{name}..."
- rack.children.each do |keg|
- if keg.directory?
- keg = Keg.new(keg)
- keg.unlink
- Formula.factory(keg.fname).unpin
- keg.rmtree
- end
+ rack.subdirs.map { |d| Keg.new(d) }.each do |keg|
+ keg.unlink
+ keg.rmtree
end
rack.rmtree
end
rm_opt_link name
+ rm_pin name
end
end
rescue MultipleVersionsInstalledError => e