現象:
解決辦法:
在Go 1.13中,我們可以通過GOPROXY來控制代理,以及通過GOPRIVATE控制私有庫不走代理。
- 設置GOPROXY代理:
go env -w GOPROXY=https://goproxy.cn,direct
- 設置GOPRIVATE來跳過私有庫,比如常用的Gitlab或Gitee,中間使用逗號分隔:
go env -w GOPRIVATE=*.gitlab.com,*.gitee.com
- 如果在運行go mod vendor時,提示Get https://sum.golang.org/lookup/xxxxxx: dial tcp 216.58.200.49:443: i/o timeout,則是因為Go 1.13設置了默認的GOSUMDB=sum.golang.org,這個網站是被牆了的,用於驗證包的有效性,可以通過如下命令關閉:
go env -w GOSUMDB=off
私有倉庫自動忽略驗證
- 可以設置 GOSUMDB="sum.golang.google.cn", 這個是專門為國內提供的sum 驗證服務。
go env -w GOSUMDB="sum.golang.google.cn"
- -w 標記 要求一個或多個形式為 NAME=VALUE 的參數, 並且覆蓋默認的設置
參考博文:https://my.oschina.net/u/3305368/blog/3044169