配置Homebrew不删除旧版本

时间:2019-05-19 08:47:48

标签: homebrew

当我通过自制软件安装软件包时,它将删除旧版本。

  $ brew brew升级版
  /usr/local/Cellar/terraform/0.11.14:6个文件,42.4MB
删除:/usr/local/Cellar/terraform/0.11.13 ...(6个文件,120.6MB)
删除:/Users/vikas/Library/Caches/Homebrew/terraform--0.11.13.mojave.bottle.tar.gz ...(25.4MB)
 

如何禁用此功能,以便可以切换回旧版本。

  $ brew switch [公式] [版本]
 

2 个答案:

答案 0 :(得分:3)

可以通过在export HOMEBREW_NO_INSTALL_CLEANUP=TRUE~/.bashrc(或特定于您的shell)中设置变量~/.zshrc来避免此行为。

完成后,您可以通过以下方式检查它是否已正确应用:

$ brew config | grep HOMEBREW_NO_INSTALL_CLEANUP
HOMEBREW_NO_INSTALL_CLEANUP: TRUE
$

它是在v1.9.0中引入的,并且在man brew中也有记录,但是很容易错过:)

Unless HOMEBREW_NO_INSTALL_CLEANUP is set, brew cleanup will be run for the installed formulae or, every 30 days, for all formulae

参考:  -https://github.com/Homebrew/brew/issues/5654

答案 1 :(得分:0)

这看起来很奇怪,因为通常自制程序实际上并不会立即删除旧版本,它通常会保留旧版本,以便您以后可以切换回旧版本。除非您一直在做brew cleanup

如果尚未删除较旧的版本,则有可能使某些较旧版本的程序处于不活动状态。您可以简单地使用brew switch重新激活以前的版本,以酿造旧版本。例如

$ brew info mysql (to get info about the installed versions)
$ brew switch mysql 5.7.21 (to switch to a stable version)

或者,您也可以像这样使用武力:

brew link --force mysql@5.7

除非您使用的是2.0,然后是,否则从2.0.0开始发生。默认为自动清除。使用man brew,然后查看如何退出此行为。

brew --force中结帐man brew