blob: 76c94969a46701a7ad9dd761141e0be96458fb5c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  | 
require 'keg'
module Homebrew extend self
  def uninstall
    unless ARGV.force?
      ARGV.kegs.each do |keg|
        puts "Uninstalling #{keg}..."
        keg.unlink
        keg.uninstall
      end
    else
      ARGV.formulae.each do |f|
        rack = f.prefix.parent
        if rack.directory?
          puts "Uninstalling #{f}..."
          rack.children.each do |keg|
            if keg.directory?
              keg = Keg.new(keg)
              keg.unlink
              keg.rmtree
            end
          end
          rack.rmtree
        end
      end
    end
  rescue MultipleVersionsInstalledError => e
    onoe e
    puts "Use `brew remove --force #{e.name}` to remove all versions."
  end
end
  |