首页 > 解决方案 > 防止 brew cleanup 删除特定的旧版本软件

问题描述

我是 Homebrew 的忠实粉丝,并且已经开始使用它来管理我的所有应用程序。一个非常有用的功能是brew switch可以在不同版本的 Ansible 之间切换。我需要编译一些运行旧软件的网站。

但是,我注意到,每当我想运行时brew cleanup,它都会删除所有旧版本,甚至是 Ansible 的 2.3.2.0 版本,我仍然需要与最新版本一起使用。

在筛选了众多论坛和站点之后,我一直无法找到一个解决方案,它允许我在使用brew cleanup命令时保留这个旧版本的 Ansible 和最新版本,而不是手动删除所有内容。

有没有人有解决方法或解决方案,我认为brew pin可能是一种可能性,但这似乎只适用于当前链接的版本。

标签: version-controlterminalansiblehomebrew

解决方案


我没有看到一个干净的内置方法brew cleanup来做到这一点,而是一种解决方法:由于brew cleanup可选地需要一个公式列表来清理,我们可以制作一个包含除 Ansible 之外的所有内容的列表。

这就是我如何获得该列表:

brew list | grep -v ansible

这就是我可以调用cleanup忽略 Ansible 的方式:

brew cleanup $(brew list | grep -v ansible)

也许我希望它作为某个地方的别名,例如bcab rew cleaup (但不是) a nsible”:

alias bca='brew cleanup $(brew list | grep -v ansible)'

并将该行添加到我的~/.bashrc.


推荐阅读