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

Version control 防止brew cleanup删除特定的旧版本软件,version-control,terminal,ansible,homebrew,Version Control,Terminal,Ansible,Homebrew,我是自制软件的超级粉丝,并开始使用它来管理我所有的应用程序。一个非常有用的功能是brew switch,它可以在不同版本的Ansible之间切换。我需要编译一些运行旧软件的网站 但是,我注意到,每当我希望运行brew cleanup,它都会删除所有旧版本,甚至Ansible的2.3.2.0版,我仍然需要它与最新版本一起运行 在对众多论坛和网站进行筛选后,我无法找到一个解决方案,该解决方案允许我在使用brew cleanup命令时保留Ansible的旧版本和最新版本,而不是手动删除所有内容 是否有

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

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

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


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

我看不到
brew cleanup
有一种干净的内置方法来实现这一点,但有一种解决方法:因为
brew cleanup
可以选择使用公式列表来清理,我们可以制作这样一份清单,它包含除Ansible之外的所有内容

以下是我如何获得该列表的方法:

brew list | grep -v ansible
这就是我如何调用
cleanup
忽略Ansible的方法:

brew cleanup $(brew list | grep -v ansible)
也许我想把它作为某个地方的别名,比如“brewcleanup(但不是)ansible”的
bca


然后将这一行添加到我的
~/.bashrc

这是一个有效的问题。Homebrew安装和更新软件的多个版本。例如,foo2.0、foo3.0、foo4.0。有时我们想要Foo4.0及更高版本,但也要始终保持Foo2.0。评论员可能不熟悉自制/Linuxbrew。请迁移到apple.stackexchange.com?
alias bca='brew cleanup $(brew list | grep -v ansible)'