173

I’ve got some problems with the package manager, Homebrew. I can’t find how to remove it!

Is it safe to remove whole /usr/local? Homebrew was installed somewhere in that directory.

holms
  • 3,287
  • 4
  • 26
  • 33

7 Answers7

245

They provide an official uninstall script you can download and run:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Homebrew once recommended an older script, also linked in their FAQ.

Here is a copy of the old script, for historical purposes:

cd `brew --prefix`
git checkout master
git ls-files -z | pbcopy
rm -rf Cellar
bin/brew prune
pbpaste | xargs -0 rm
rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions 
test -d Library/LinkedKegs && rm -r Library/LinkedKegs
rmdir -p bin Library share/man/man1 2> /dev/null
rm -rf .git
rm -rf ~/Library/Caches/Homebrew
rm -rf ~/Library/Logs/Homebrew
rm -rf /Library/Caches/Homebrew

This should also revert your /usr/local folder to its pre-Homebrew days. See the Homebrew installation wiki for more information.

Note: You may also need to remove ~/.homebrew as well. If you happen to have ~/.rvm, then you should delete ~/.rvm/bin/brew. If any of your brew package had brew services that are running, you should turn them off. If any packages installed their own libraries (like Python's pip) you'll have to uninstall those manually.

rogerdpack
  • 2,226
speedofmac
  • 3,097
  • thank you so much! i've googled so hard, but even't bothered to look for uninstallation actions in installation manual! ;D – holms Oct 28 '10 at 15:36
  • 15
    Note that the instructions have changed over time, and also been moved to the Homebrew FAQ https://github.com/mxcl/homebrew/wiki/FAQ/1ef6c2cf55db89252949c7bb2908abe093a3414a – Nelson Sep 10 '11 at 23:19
  • Following these commands deleted almost all my files on Desktop, Documents and 'Downloads`. It messed up my git too. Please help! – Ava Aug 16 '13 at 22:53
  • rm -rf Library/Taps – Googol Mar 13 '14 at 13:25
  • and also: rm -rf /Library/Caches/Homebrew – itinance Apr 27 '14 at 08:01
  • Look also for LaunchAgents:

    /Users/$username/Library/LaunchAgents

    – itinance Apr 27 '14 at 08:02
  • 3
    If the first line of this script fails it will try to delete whatever is in your pasteboard. That could be a lot of your data. – ade Jan 16 '16 at 23:05
  • @ade: :/ Too Late. – Sunny R Gupta Mar 11 '16 at 09:08
  • "This should also revert your /usr/local" which of the scripts does this refer to? Will this also uninstall all packages installed by brew (my guess is no). – qubodup Apr 04 '16 at 12:09
  • I don't understand why I installed this crap. When trying uninstalling it, it asks me if I want to delete following files - then a list comes where it also wants to delete the entire /usr/local/Library/. Wtf? It contains other files too, like MySQL stuff. It seems that homebrew was installed directly to /user/local/. WTF?!? – StanE Sep 06 '16 at 00:25
50

Homebrew provides an uninstall script located here.

Just run the following in the OSX terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
  • 3
    good one, just simple solution – AMIC MING Mar 06 '16 at 04:20
  • 1
    Better imho is to install homebrew cleanly in the first place. Here is how: >> git clone https://github.com/Homebrew/brew ~/git/brew, then run it from there - all packages will be residing there then. – Red Pill Oct 09 '20 at 17:05
  • 4
    The Ruby uninstaller has been deprecated; they now recommend use of this Bash command: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)" – Stack Overflown Nov 14 '20 at 16:11
  • Thanks @StackOverflown, I just updated the broken link and uninstall command. – RNickMcCandless Feb 02 '21 at 17:59
  • After running this command, I got below output ==> Homebrew uninstalled! The following possible Homebrew files were not deleted: /usr/local/.com.apple.installer.keep /usr/local/Frameworks/ /usr/local/Homebrew/ /usr/local/bin/ /usr/local/etc/ /usr/local/include/ /usr/local/lib/ /usr/local/opt/ /usr/local/share/ /usr/local/var/ You may wish to remove them yourself. – vikramvi Mar 13 '21 at 10:49
  • do we need to remove these manually as well ? Why doesn't uninstallation script removes them ? – vikramvi Mar 13 '21 at 10:49
  • the best 1 without Ruby installation – zihadrizkyef Mar 31 '21 at 06:11
  • It now tries to remove the entire /usr/local directory. Really? Isn't there "quite a few other things" in there? This brew uninstall script no longer looks safe to run – O'Rooney Sep 15 '21 at 04:16
10

Also note that homebrew changes group to 'staff' and gives write access to group for

  • /usr/local
  • /usr/local/bin
  • /usr/local/include
  • /usr/local/lib
  • /usr/local/sbin
  • /usr/local/share

In order to put back these directories in their original states do:

sudo chown root:wheel <directory> ; sudo chmod 755 <directory>

for each one or if you don't have fancy owners / rights:

sudo chown -R root:wheel /usr/local ; sudo chmod -R 755 /usr/local
Giacomo1968
  • 55,001
mecano
  • 113
  • 1
    I cannot confirm this. My /usr/local and its Homebrew-created subdirs are owned by my user with the admin group. – slhck Dec 26 '12 at 16:21
1

Try this gist, it uninstalls homebrew and associated caches, provided you installed brew to the default directory.

thomax
  • 119
0

The ruby script now prints:

Warning: The Ruby Homebrew uninstaller is now deprecated and has been rewritten in
Bash. Please migrate to the following command:
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

So the right way to uninstall is apparently to run:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
thakis
  • 331
0

I recently made a script to handle this case. It completely removes Homebrew, and has CLI options like silent/verbose and force modes, as well as mode that returns the location of your Homebrew installation.

Giacomo1968
  • 55,001
Steve Benner
  • 101
  • 3
-3

There might be other files in /usr/local you might need you might be able to user a different PM (Package Manager) to remove the current PM.

smci
  • 264
Honk
  • 846