I'm trying out Homebrew, but I can't seem to figure out when uninstalling a 'formula', how to recursively remove the dependencies as well. I.e. Macports is:
$ port uninstall --follow-dependencies <portname>
How does this work with Homebrew?
Ask Different is a question and answer site for power users of Apple hardware and software. It only takes a minute to sign up.Sign up to join this community
A simple way to solve the problem of accumulating dependencies of deinstalled things is to periodically run brew leaves and compare it against a list of wanted leaves, and recursively remove everything else.
The following works, but of course is not very readable:
1) Show all the leaves minus the ones in your wanted list:
$ brew leaves | egrep -v 'bcwipe|brew-cask|lftp|mmv|mobile-shell|mplayer|node|octave|python|zsh'
2) Once you have adjusted the list (i.e. added new keepers), get rid of the rest:
$ brew uninstall `brew leaves|egrep -v 'bcwipe|brew-cask|git|lftp|mmv|mobile-shell|mplayer|node|octave|python|zsh'`
This usually has to be called a few times in a row to get them all, and the final call should be followed by a
$ brew cleanup
To beautify a bit, the list of keepers can of course be kept in a file somewhere.
In 2021, you can now use
I just wrote a small wrapper script to add this functionality to brew. Source it in your .bashrc and it will track which packages you install, then recursively remove unneeded dependencies when you uninstall.