防止 brew cleanup 删除特定的旧版本软件

Elv*_*nos 5 terminal version-control homebrew ansible

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

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

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

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

Ben*_* W. 2

我没有看到一个干净的内置方法来brew cleanup做到这一点,但有一个解决方法:因为brew cleanup可以选择使用一个公式列表来清理,所以我们可以创建一个包含除 Ansible 之外的所有内容的列表。

这就是我获取该列表的方法:

brew list | grep -v ansible
Run Code Online (Sandbox Code Playgroud)

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

brew cleanup $(brew list | grep -v ansible)
Run Code Online (Sandbox Code Playgroud)

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

alias bca='brew cleanup $(brew list | grep -v ansible)'
Run Code Online (Sandbox Code Playgroud)

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