使用Homebrew安装多个并排版本?

59

是否能够使用Homebrew同时安装多个版本?

我遇到了需要同时使用sbt-0.7.x、sbt-0.10.x和sbt-0.11.0的情况。目前,我手动安装了sbt-0.7.7和sbt-0.10.1以解决这个问题(sbt-0.11.0是来自Homebrew中最新的'sbt'版本)。

3个回答

36

没问题。当你安装一个新版本的软件包时,它会保留旧版本。位于/usr/local/bin或其他位置的符号链接指向最新版本,但你仍然可以调用旧版本中的二进制文件(或链接到库)。

使用brew list命令查看已安装的内容。你可以查看软件包目录以查看所有版本;或者调用brew list --versions命令以查看所有软件包及其所有版本。


1
这种行为已经改变,现在使用brew安装新版本的某个东西时会出错,除非你选择升级(并删除旧版本)。 - Mobigital

33

要轻松地在不同版本的公式之间切换,您可以使用:

brew switch <formula> <version>

例如:

brew switch gradle 3.2.1

要列出您安装的版本,请尝试:

brew list --versions
或者:
brew list <formula> --versions

如果您想摆脱旧版本,只需使用:

brew cleanup

6
近期版本的brew已经移除了brew switch命令,是否有其他解决方案可以轻松切换不同版本? - Nicolas Forney
1
@NicolasForney brew unlink <formula> 然后 brew link <formula> - Muzafar Ali

8

自Homebrew 2.0.0版本开始,当调用brew upgrade命令时,它会自动删除旧的软件包。(https://brew.sh/2019/02/02/homebrew-2.0.0/)若想退出该行为,请设置环境变量:export HOMEBREW_NO_INSTALL_CLEANUP=1


3
除非包被固定(pin)住,否则就是这样。 - Minh Nghĩa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接