我有一个Homebrew公式,我希望卸载/删除它的所有依赖项,跳过其他包依赖的包(也称为包管理器术语中的Cascading package removal )。
例如,卸载依赖于软件包b
和c
的package a
,其中package d
也依赖于package c
。结果应该会卸载a
和b
,跳过c
。
我该怎么做呢?
必须有一种方法来卸载一个包,而不会留下不必要的垃圾。
发布于 2014-06-06 05:03:00
要使用此答案,您需要创建和维护一个文件,其中包含要在系统上安装的软件包名称。如果您还没有这样的包,请使用以下命令并删除您不想保留的包名称。
brew leaves > brew_packages
然后,您可以通过运行以下命令删除所有已安装的、但不需要的软件包和任何不必要的依赖项
brew_clean brew_packages
在这里可以找到brew_clean
:https://gist.github.com/cskeeters/10ff1295bca93808213d
此脚本获取您在brew_packages中指定的所有包及其所有依赖项,并将它们与brew list
的输出进行比较,最后在与用户验证此列表后删除不需要的包。
此时,如果您想删除包a
,只需从brew_packages文件中删除它,然后重新运行brew_clean brew_packages
。它将删除b
,但不会删除c
。
https://stackoverflow.com/questions/7323261
复制相似问题