Is there anyway to have the command brew
show all the installed or optional dependencies for any given package? It would also be helpful to see which of the install packages are themselves the dependencies of others packages.
5 Answers
For all packages:
brew deps --tree --installed
For one package only (e.g.):
brew deps --tree --installed vim
Thanks to rob-kovacs for suggesting the --tree
addition
See this helpful article for details: https://blog.jpalardy.com/posts/untangling-your-homebrew-dependencies/ Especially if you're interested in creating a graph of the dependency tree.

- 37,241
- 25
- 195
- 267

- 3,844
- 3
- 19
- 16
-
18To check only one package, e.g. `brew deps --tree --installed vim`. – NeoZoom.lua Apr 01 '21 at 22:29
-
Is there a faster way? Takes 1s. I'd like to check deps are installed everytime before running one of my clis. – vaughan May 16 '23 at 18:54
-
@NeoZoom.lua `brew deps --tree
` is enough. Just tested `brew deps --tree zstd`. – Fonzie Jul 07 '23 at 06:26
Here is a command that will list all formulas that aren't dependents of any other formulas (leaves), and for each of them lists all of its dependencies.
Sample output line:
awscli: gdbm readline sqlite tcl-tk xz
Command:
brew leaves | xargs brew deps --formula --for-each | sed "s/^.*:/$(tput setaf 4)&$(tput sgr0)/"
Alternate command without xargs:
brew deps --formula --for-each $(brew leaves) | sed "s/^.*:/$(tput setaf 4)&$(tput sgr0)/"

- 2,011
- 1
- 14
- 12
You can use info command like.
brew info ffmpeg
It will show you information and dependencies of formula. Also, it shows if this package installed by a tick after name of it.

- 5,171
- 28
- 45
-
9Is there no way to also see which packages depend on the installation you are getting info for? – oliver Dec 08 '16 at 00:44
-
49
Command:
brew deps --include-build --tree $(brew leaves)
Convenient alias:
alias brewdeps="brew leaves | xargs brew deps --include-build --tree"
This way you will get dependencies printed hierarchically and each package will be printed only once.

- 2,977
- 25
- 24
I found the brew deps --tree
switch is also very helpful to visualize dependencies just in the command line. From the official doc:
brew deps --tree [--1] [filters] [--annotate] (formulae|--installed):
Show dependencies as a tree. When given multiple formula arguments, output
individual trees for every formula.
Example1:
brew deps --tree fontconfig
Output1:
fontconfig
└── freetype
└── libpng
Example2:
brew deps --tree --1 fontconfig
Output2:
fontconfig
└── freetype
and there are more switches explained by:
brew help deps

- 386
- 2
- 6