macOS 环境Go

Homebrew 安装多个Go版本

我在项目中遇到管理第三方包的依赖问题,由于是老项目,公司同事告知我使用 Go Vendor包管理器 管理,但是我尝试自动安装第三方模块并没有成功。

我怀疑可能和 在Go语言中使用模块(Modules)和包(Packages) 中提到的从 Go 1.16 开始,使用了 go mod 管理依赖,所以采用 Go Vendor包管理器 配置没有生效。不过,既然可以使用 Homebrew 安装Golang,那么尝试回滚到旧版本试试。

警告

根据 kardianos/govendor 官方说明 Please don’t use this tool anymore. ,从 go1.14 开始就应该使用 Go Modules

  • 搜索可用的Go版本:

    brew search go
    

可以看到提供了多个版本:

==> Formulae
go ✔
go@1.13
go@1.14
go@1.15
go@1.16
go@1.17
go@1.18
go@1.19
  • 安装指定版本:

安装低版本GoLang 1.15
brew install go@1.15

可能会提示错误:

安装低版本GoLang 1.15报错
Error: go@1.15 has been disabled because it is not supported upstream!

解决方法采用 安装被禁止(disable)的Homebrew软件包

  • 对于多版本,需要取消最新版本的链接:

    brew unlink go
    
  • 然后链接到指定版本:

    brew link go@1.15
    

必要时可以采用 --force--overwrite 参数:

brew link --force --overwrite go@1.15

参考