代码之家  ›  专栏  ›  技术社区  ›  Elvinos

阻止brew cleanup删除特定旧版本的软件[已关闭]

  •  5
  • Elvinos  · 技术社区  · 6 年前

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

    然而,我注意到每当我想跑步的时候 brew cleanup ,它删除了所有旧版本,甚至Ansible的2.3.2.0版,我仍然需要它与最新版本一起使用。

    在筛选了众多论坛和网站后,我一直无法找到一个解决方案,使我能够在使用 brew清理 命令,而不是手动删除所有内容。

    我想,有人有解决办法吗 brew pin 可能是有可能的,但这似乎只适用于当前链接的版本。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Benjamin W.    6 年前

    我看不到一个干净的内置方式 brew cleanup 要做到这一点,但有一个变通办法:因为 brew清理 有选择地需要一个公式列表来清理,我们可以创建这样一个列表,其中包含除Ansible以外的所有内容。

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

    brew list | grep -v ansible
    

    这就是我打电话的方式 cleanup 要忽略Ansible:

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

    也许我想在某个地方用它作为别名,比如 bca 为了“ B 雷夫 C leanup(但不是) A. 可感知的”:

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

    把这句话加到我的 ~/.bashrc .