在网络上很多文章使用 来切换 Golang 的 version,但是在 brew v2.6.0 后 指令已经被废弃。brew switch
brew switch
首先,先确认我们的 golang 是由 homebrew 管理。
1 2 3 4 5 | which go /usr/local/bin/go ls -l /usr/local/bin/go lrwxr-xr-x 1 justin admin 28 Jan 30 16:37 /usr/local/bin/go -> ../Cellar/go/1.15.7_1/bin/go |
如果 看到的路径是 的话,那么当初的 golang 应该是通过下载安装而不是由 Homebrew 管理的,可以直接删除。which go
/usr/local/go
rm -rf /usr/local/go
接着用 Homebrew 安装最新版本的 golang。
1 2 3 4 5 | brew install go brew info go go: stable 1.15.7 (bottled), HEAD …. |
假设我们要安装 v1.14 版本的 golang,则一样用 homebrew 来安装,指令为 。brew install go@v?
1 2 3 4 5 | brew install go@v1.14 ls /usr/local/Cellar | grep “go” go go@1.14 |
可以看到两个版本的 go 已经安装完成。
看下现在的 golang 版本:
1 2 | go version go version go1.15.7 darwin/amd64 |
显示为 ,若要切换成 的版本,可以用以下命令:go1.15.7
v1.14
1 2 3 4 5 6 7 8 9 10 | brew link –force –overwrite go@1.14 go version go version go1.14.14 darwin/amd64 which go /usr/local/bin/go ls -l /usr/local/bin/go lrwxr-xr-x 1 justin admin 32 Jan 30 16:51 /usr/local/bin/go -> ../Cellar/go@1.14/1.14.14/bin/go |
可以看到指令的 symbolic link 已经被切换成 的版本。go
go@1.14
如果要切换回最新版本,则使用以下命令 :
1 2 3 4 5 6 7 | brew unlink go && brew link go go version go version go1.15.7 darwin/amd64 ls -l /usr/local/bin/go lrwxr-xr-x 1 justin admin 28 Jan 30 16:53 /usr/local/bin/go -> ../Cellar/go/1.15.7_1/bin/go |
可以看到指令的 symbolic link 已经被切换回最新版本。go