MacOS 使用 Homebrew 管理多个 Golang 版本

在网络上很多文章使用 来切换 Golang 的 version,但是在 brew v2.6.0 后 指令已经被废弃。brew switchbrew 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/gorm -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.7v1.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 已经被切换成 的版本。gogo@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

(0)
麦克哥麦克哥

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注