go mod tidy拉取依賴包bug問題及解決
go mod tidy
拉取缺少的模塊,同時移除不用的模塊
該命令會調用go get,然后go get會調用git的命令,拉取代碼
go語言其他環(huán)境變量
GOSUMDB:
Go checksum database 的縮寫,含義如其名字,用于在拉取模塊版本時保證拉取到的模塊版本數據未經過篡改,若發(fā)現不一致,也就是可能存在篡改,將會立即中止。
如果設置為"off",則禁止Go在后續(xù)操作中校驗模塊版本
GONOPROXY
GONOSUMDB
GOPRIVATE
如果當前項目依賴了私有模塊,則配置會涉及這三個環(huán)境變量。
例如公司的私有 git 倉庫,又或是 github 中的私有庫,都是屬于私有模塊,都是要進行設置的,否則會拉取失敗。
簡單來說就是應對,GOPROXY 設置的代理或 GOSUMDB 設定的 Go checksum database 代理無法訪問模塊時的情形。
建議直接設置 GOPRIVATE,它的值將作為 GONOPROXY 和 GONOSUMDB 的默認值,所以建議的最佳設置是直接使用 GOPRIVATE。
問題解決步驟
1.配置GO PRIVATE
由于拉取的公司gtiLab倉庫代碼是私有的,所以需要配置Go PRIVATE環(huán)境變量,用于應對GOPROXY設置的代理無法訪問模塊的情況。
2.https轉ssh
由于https拉取代碼需要輸入用戶名和密碼,所以需要將所有的https轉換成使用ssh的方式進行拉取
3.配置GIT_SSH
Git error: cannot spawn sh: No such file or directory
配置GIT_SSH后仍然沒有解決問題,由于對應報錯信息是cannot spawn sh,而不是ssh,所以執(zhí)行步驟4
- 4.將/Git/usr/bin加入到系統(tǒng)環(huán)境變量
- 5.關閉vpn,否則會出現驗證失敗的報錯
- 6.GOPROXY需要配置國內代理
報錯信息:
go:Get “https://proxy.golang.org/github.com/gin-gonic/gin/@v/v1.6.3.mod”: dial tcp 64.233.187.141:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
配置GOPROXY后
問題解決!
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
golang?日志庫ZAP[uber-go?zap]示例詳解
ZAP是由Uber開源的高性能Go語言日志庫,支持多種日志級別及基本信息打印,雖然ZAP本身不支持日志分割,但可以結合lumberjack進行日志切割,實現日志按文件大小、時間或間隔切割等功能,ZAP提供Logger和SugaredLogger兩種日志記錄器2024-10-10