我已经安装了 1.13.1 和 1.12.9 版本
$brew list --versions | grep go
go 1.13.1
go@1.12 1.12.9
Run Code Online (Sandbox Code Playgroud)
但是我无法切换到 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
Run Code Online (Sandbox Code Playgroud)
当我仔细查看 go 版本时(没有 grep)
$brew list --versions go
go 1.13.1
Run Code Online (Sandbox Code Playgroud)
所以我在安装 go 1.12 时一定是做错了什么,但是什么?我用过brew install go@1.12,我应该用另一种语法吗?
go并且go@1.12作为具有不同名称的两个包安装,这意味着它们安装在不同的位置。/usr/local/Cellar/go和/usr/local/Cellar/go@1.12。
在这种情况下,您应该使用brew link.
brew unlink go
brew link go@1.12 --overwrite
Run Code Online (Sandbox Code Playgroud)
关于 的更多解释brew switch。brew switch <version>用于切换使用相同包名安装的版本。
例如,如果go1.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
Run Code Online (Sandbox Code Playgroud)