No, it’s not about tea. We’re continuing our rundown of lesser-known Homebrew
brew leaves. Let’s check the
man brew page:
leaves Show installed formulae that are not dependencies of another installed formula.
Or, in more computer science-y terms, it shows you the leaves of the Homebrew dependency graph.
When to use it
brew leaves shows you programs that you can safely uninstall. If you want to
clean house, just run
brew leaves and happily uninstall:
$ brew leaves | wc -l 45 $ brew leaves ... leiningen ... pngcrush ...
We have 45 leaves. We haven’t used
leiningen in a while, and forgot
was even installed. Let’s uninstall:
$ brew uninstall pngcrush leiningen $ brew leaves | wc -l 43
We now have 2 fewer leaves. If
leiningen were the only things
that depended on a third package
foo, then uninstalling those two packages would
foo a new leaf, since now nothing depends on
Easily create a Brewfile
Brewfiles are an easy way to install frequently-used Homebrew
packages on a new machine. We can easily create a Brewfile using
$ brew leaves | sed 's/^/install /' > Brewfile $ wc -l Brewfile 42 $ head -3 Brewfile install aspell install bison install colordiff
Now all 42 packages we depend on are neatly listed. One possible concern is that
a package will be left out - for example, we use
rbenv but it’s not in the
Brewfile. This is because we also have
rbenv-gem-rehash installed, which
rbenv not a leaf. Since
rbenv, installing it will also install
rbenv. We’re safe.