简单的方法有家酿列出所有包的依赖项

是否有命令 brew显示任何给定软件包的所有已安装或可选的依赖项?查看哪些安装包本身是其他包的依赖项也会很有帮助。

58629 次浏览

您可以使用如下的 info 命令。

brew info ffmpeg

它将显示您的信息和公式的依赖关系。此外,它显示如果这个包安装了一个勾后的名称。

所有套餐:

brew deps --tree --installed

只适用于一个包裹(例如:

brew deps --tree --installed vim

感谢 Rob-kovacs建议增加 --tree

有关详细信息,请参阅这篇有帮助的文章: < a href = “ https://blog.jpalardy.com/post/untangling-your-homebrem- 依赖关系/”rel = “ norefrer”> https://blog.jpalardy.com/posts/untangling-your-homebrew-dependencies/ 特别是如果您对创建依赖关系树的图表感兴趣。

我发现 brew deps --tree开关对于在命令行中可视化依赖关系也非常有帮助。官方文件:

brew deps --tree [--1] [filters] [--annotate] (formulae|--installed):
Show dependencies as a tree. When given multiple formula arguments, output
individual trees for every formula.

例子一:

brew deps --tree fontconfig

成果1:

fontconfig
└── freetype
└── libpng

例子二:

brew deps --tree --1 fontconfig

成果2:

fontconfig
└── freetype

还有更多的开关是这样解释的:

brew help deps

下面是一个命令,它将列出所有不依赖于任何其他公式的公式(留下) ,并为每个公式列出它的所有依赖项。

输出行示例:

awscli: gdbm readline sqlite tcl-tk xz

命令:

brew leaves | xargs brew deps --formula --for-each | sed "s/^.*:/$(tput setaf 4)&$(tput sgr0)/"

没有 xargs 的备用命令:

brew deps --formula --for-each $(brew leaves) | sed "s/^.*:/$(tput setaf 4)&$(tput sgr0)/"

命令:

brew deps --include-build --tree $(brew leaves)

方便的化名:

alias brewdeps="brew leaves | xargs brew deps --include-build --tree"

这样,您将获得 分层打印的依赖关系和每个包将只打印一次。