使用方法
如果您使用的 Go 版本是 1.13 及以上 (推荐)
1 | go env -w GO111MODULE=on |
如果您使用的 Go 版本是 1.12 及以下
Bash (Linux or macOS)
1 | 启用 Go Modules 功能 |
问题
- go1.12如果使用GOPROXY,则所有包都会经过GOPROXY。如果go.mod里有私有库的包,则会查找不到。而go1.13中的GOPRIVATE可以完美解决这个问题。
- go1.12的GOPROXY无法支持多个,只能配置一个,如果使用逗号分割,会报错。
解决方法
- 建议直接使用go1.13及以上。升级能解决大部分问题。
- go.mod中使用replace。在编译项目时,将需要的资源clone到指定位置,go.mod使用replace将这些包指向clone的位置。这样操纵能解决私有库的问题,但是不灵活,而且也无法很好地发挥gomod的特性。
- 自建proxy,该proxy能下载外网和内网包。