問題
在go1.13以后使用go mod可能會(huì)遇到 cannot find module providing package的問題。
解決方案
這主要是由于不能找到我們某些依賴的模塊。如果遇到這種問題。我們可以嘗試使用go get來安裝這些模塊。
如果使用go get安裝模塊依然不能生效。返回網(wǎng)絡(luò)錯(cuò)誤碼404或者410.很有可能是我們無法連接golang.org的GOSUBDB去驗(yàn)證包的有效性。
這個(gè)時(shí)候可以設(shè)置GOSUBDB為off。繞過驗(yàn)證
go env -w set GOSUBDB = off
同時(shí)可以設(shè)置https://goproxy.io/zh/ 的代理讓我們可以正常的安裝使用的包。
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
# 設(shè)置不走 proxy 的私有倉庫,多個(gè)用逗號(hào)相隔(可選)
go env -w GOPRIVATE=*.corp.example.com
# 設(shè)置不走 proxy 的私有組織(可選)
go env -w GOPRIVATE=example.com/org_name