go mod tidy拉取依賴包bug問題及解決
go mod tidy
拉取缺少的模塊,同時移除不用的模塊
該命令會調(diào)用go get,然后go get會調(diào)用git的命令,拉取代碼
go語言其他環(huán)境變量
GOSUMDB:
Go checksum database 的縮寫,含義如其名字,用于在拉取模塊版本時保證拉取到的模塊版本數(shù)據(jù)未經(jīng)過篡改,若發(fā)現(xiàn)不一致,也就是可能存在篡改,將會立即中止。
如果設置為"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轉(zhuǎn)ssh
由于https拉取代碼需要輸入用戶名和密碼,所以需要將所有的https轉(zhuǎn)換成使用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.關(guān)閉vpn,否則會出現(xiàn)驗證失敗的報錯
- 6.GOPROXY需要配置國內(nèi)代理
報錯信息:
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后
問題解決!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
golang 實現(xiàn)每隔幾分鐘執(zhí)行一個函數(shù)
這篇文章主要介紹了golang 實現(xiàn)每隔幾分鐘執(zhí)行一個函數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12golang?日志庫ZAP[uber-go?zap]示例詳解
ZAP是由Uber開源的高性能Go語言日志庫,支持多種日志級別及基本信息打印,雖然ZAP本身不支持日志分割,但可以結(jié)合lumberjack進行日志切割,實現(xiàn)日志按文件大小、時間或間隔切割等功能,ZAP提供Logger和SugaredLogger兩種日志記錄器2024-10-10GO語言判斷一個網(wǎng)段是否屬于另一個網(wǎng)段的子網(wǎng)
這篇文章主要介紹了GO語言判斷一個網(wǎng)段是否屬于另一個網(wǎng)段的子網(wǎng)的相關(guān)資料,內(nèi)容介紹詳細,具有一定的參考價值,需要的朋友可任意參考一下2022-03-03