当我通过自制软件安装软件包时,它将删除旧版本。
$ 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 [公式] [版本]
答案 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
答案 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