如果您已经在Mac上安装了Homebrew用作各种Unix和命令行实用程序的软件包管理器则可能还安装了一些对您有用的软件包但是如果您不再需要一个并且想要删除特定的Homebrew软件包该怎么办
事实证明使用Homebrew卸载软件包/公式非常容易而从Homebrew卸载和删除软件包就像首先安装它们一样容易
明确地说我们不是在谈论卸载Homebrew本身而是在谈论从Homebrew删除特定的软件包
删除Homebrew软件包的正确方法是使用uninstall或remove命令
卸载Homebrew软件包命令如下所示:
brew uninstall packageName
remove Homebrew package命令如下所示:
brew remove packageName
您可能已经猜到了remove和uninstall命令完全相同并且得到相同的结果删除Homebrew软件包
例如要删除和卸载Telnet(假设您始终在带有Homebrew的Mac上安装了telnet)则可以使用以下命令字符串:
brew uninstall telnet
或者您可以使用remove命令达到相同的效果:
brew remove telnet
从Homebrew删除软件包非常快捷因为无需下载任何内容它只是从Mac中删除Homebrew软件包
您可以通过尝试再次运行命令或通过检查来确认软件包已被删除 Homebrew软件包的安装位置来然后您将发现已删除的软件包不再存在
其他Homebrew软件包卸载选项
您还可以将两个标志传递给Homebrew卸载命令–force和–ignore-dependencies
–force标志(或-f)将强行删除该软件包同时删除该软件包/公式的所有版本
–ignore-dependencies标志的作用完全一样在卸载指定软件包时它将忽略所讨论公式的依赖关系
卸载Homebrew软件包时管理依赖项
从Homebrew删除和卸载程序包时要注意的一件事是如果要卸载的程序包具有其他程序包或公式正在使用的依赖项则可能会破坏它导致辅助程序包无法正常工作防止这种情况的最简单方法可能是使用可选的–ignore-dependencies标志例如:
brew uninstall --ignore-dependencies telnet
如果不确定特定的Homebrew软件包存在哪些依赖关系则可以使用deps命令找出原因:
brew deps packageName
例如如果您在Mac上使用Homebrew方法安装了python3该方法具有相当大的依赖性则运行该命令将类似于以下内容:
% brew deps python3
gdbm
openssl
readline
sqlite
xz
由于许多其他软件包也使用这些依赖关系因此如果要删除python3则几乎可以肯定要发出–ignore-dependencies标志同样适用于node.js和npm以及许多其他流行的Homebrew软件包