Golang執(zhí)行g(shù)o get私有庫提示"410 Gone" 的問題及解決辦法
之前沒有使用過私有庫,今天正好碰到,把解決方法整理一下
錯誤記錄
如果你在用go get 私有庫碰到如下類似錯誤:
解決方法
$ export GO111MODULE=on $ export GOPROXY=direct $ export GOSUMDB=off
關(guān)于GO111MODULE 和GOPROXY,都比較熟悉,而GOSUMDB 的說明如下:
我們知道go會在go module啟用時在本地建立一個go.sum文件,用來存儲依賴包特定版本的加密校驗和。同時,Go維護(hù)下載的軟件包的緩存,并在下載時計算并記錄每個軟件包的加密校驗和。在正常操作中,go命令對照這些預(yù)先計算的校驗和去檢查某repo下的go.sum文件,而不是在每次命令調(diào)用時都重新計算它們。
在日常開發(fā)中,特定module版本的校驗和永遠(yuǎn)不會改變。每次運行或構(gòu)建時,go命令都會通過本地的go.sum去檢查其本地緩存副本的校驗和是否一致。如果校驗和不匹配,則go命令將報告安全錯誤,并拒絕運行構(gòu)建或運行。在這種情況下,重要的是找出正確的校驗和,確定是go.sum錯誤還是下載的代碼是錯誤的。如果go.sum中尚未包含已下載的module,并且該模塊是公共module,則go命令將查詢Go校驗和數(shù)據(jù)庫以獲取正確的校驗和數(shù)據(jù)存入go.sum。如果下載的代碼與校驗和不匹配,則go命令將報告不匹配并退出。
Go 1.13提供了GOSUMDB環(huán)境變量用于配置Go校驗和數(shù)據(jù)庫的服務(wù)地址(和公鑰),其默認(rèn)值為”sum.golang.org”,這也是Go官方提供的校驗和數(shù)據(jù)庫服務(wù)(大陸gopher可以使用sum.golang.google.cn)。
出于安全考慮,建議保持GOSUMDB開啟。但如果因為某些因素,無法訪問GOSUMDB(甚至是sum.golang.google.cn),可以通過下面命令將其關(guān)閉:
go env -w GOSUMDB=off
GOSUMDB關(guān)閉后,僅能使用本地的go.sum進(jìn)行包的校驗和校驗了。
參數(shù)考文章:https://github.com/golang/go/issues/35164
https://tonybai.com/2019/10/27/some-changes-in-go-1-13/
知識點補(bǔ)充:
go get超時解決辦法
go get gopkg.in/yaml.v2超時,發(fā)現(xiàn)被墻了,解決辦法如下:
1、安裝golang.org/x/net
$ mkdir -p $GOPATH/src/golang.org/x/ $ git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net $ go install net
2、安裝gopkg.in/yaml.v2
$ go get gopkg.in/yaml.v2
總結(jié)
以上就是Golang執(zhí)行g(shù)o get私有庫提示"410 Gone" 的問題及解決辦法的詳細(xì)內(nèi)容,更多關(guān)于go get私有庫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于Go語言構(gòu)建RESTful API服務(wù)
在實際開發(fā)項目中,你編寫的服務(wù)可以被其他服務(wù)使用,這樣就組成了微服務(wù)的架構(gòu);也可以被前端調(diào)用,這樣就可以前后端分離。那么,本文主要介紹什么是 RESTful API,以及 Go 語言是如何玩轉(zhuǎn) RESTful API 的2021-07-07Windows+Linux系統(tǒng)下Go語言環(huán)境安裝配置過程
Go 語言被設(shè)計成一門應(yīng)用于搭載 Web 服務(wù)器,存儲集群或類似用途的巨型中央服務(wù)器的系統(tǒng)編程語言。這篇文章主要介紹了Windows+Linux系統(tǒng)下Go語言環(huán)境搭建配置過程,針對每種系統(tǒng)給大家講解的非常詳細(xì),需要的朋友可以參考下2021-06-06深入解析Go語言的io.ioutil標(biāo)準(zhǔn)庫使用
這篇文章主要介紹了Go語言的io.ioutil標(biāo)準(zhǔn)庫使用,是Golang入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-10-10