无法酿造切换版本

Unable to brew switch go versions

我已经安装了 go 版本 1.13.1 和 1.12.9

$brew list --versions | grep go
go 1.13.1
go@1.12 1.12.9

但是我无法切换到 1.12,错误提示我只安装了 1.13.1 版本,这与之前的列表相矛盾。

$brew switch go 1.12
Error: go does not have a version "1.12" in the Cellar.
go installed versions: 1.13.1

当我仔细查看 go 版本时(没有 grep)

$brew list --versions go
go 1.13.1

所以肯定是我安装go 1.12的时候出错了,但是呢?我使用了 brew install go@1.12,我应该使用其他语法吗?

gogo@1.12 作为两个名称不同的包安装,这意味着它们安装在不同的位置。 /usr/local/Cellar/go/usr/local/Cellar/go@1.12.

在这种情况下,你应该使用brew link

brew unlink go

brew link go@1.12 --overwrite

更新 1

关于 brew switch 的更多解释。 brew switch <version>用于切换相同包名安装的版本

例如,如果同时安装了 go 1.13 和 1.13.1,则将它们放入

  • /usr/local/Cellar/go/1.13
  • /usr/local/Cellar/go/1.13.1

在这种情况下,使用brew switch

brew switch go 1.13
brew switch go 1.13.1

更新 2

brew switch 已经 dropped since Homebrew 2.6.0

任何人仍然想要旧的 brew switch,请使用以下点击,其中 brew switch 作为自定义子命令包含在内。

brew tap laggardkernel/tap
brew switch --help