Golang執(zhí)行g(shù)o get私有庫(kù)提示"410 Gone" 的問(wèn)題及解決辦法
之前沒(méi)有使用過(guò)私有庫(kù),今天正好碰到,把解決方法整理一下
錯(cuò)誤記錄
如果你在用go get 私有庫(kù)碰到如下類似錯(cuò)誤:

解決方法
$ export GO111MODULE=on $ export GOPROXY=direct $ export GOSUMDB=off
關(guān)于GO111MODULE 和GOPROXY,都比較熟悉,而GOSUMDB 的說(shuō)明如下:
我們知道go會(huì)在go module啟用時(shí)在本地建立一個(gè)go.sum文件,用來(lái)存儲(chǔ)依賴包特定版本的加密校驗(yàn)和。同時(shí),Go維護(hù)下載的軟件包的緩存,并在下載時(shí)計(jì)算并記錄每個(gè)軟件包的加密校驗(yàn)和。在正常操作中,go命令對(duì)照這些預(yù)先計(jì)算的校驗(yàn)和去檢查某repo下的go.sum文件,而不是在每次命令調(diào)用時(shí)都重新計(jì)算它們。
在日常開(kāi)發(fā)中,特定module版本的校驗(yàn)和永遠(yuǎn)不會(huì)改變。每次運(yùn)行或構(gòu)建時(shí),go命令都會(huì)通過(guò)本地的go.sum去檢查其本地緩存副本的校驗(yàn)和是否一致。如果校驗(yàn)和不匹配,則go命令將報(bào)告安全錯(cuò)誤,并拒絕運(yùn)行構(gòu)建或運(yùn)行。在這種情況下,重要的是找出正確的校驗(yàn)和,確定是go.sum錯(cuò)誤還是下載的代碼是錯(cuò)誤的。如果go.sum中尚未包含已下載的module,并且該模塊是公共module,則go命令將查詢Go校驗(yàn)和數(shù)據(jù)庫(kù)以獲取正確的校驗(yàn)和數(shù)據(jù)存入go.sum。如果下載的代碼與校驗(yàn)和不匹配,則go命令將報(bào)告不匹配并退出。
Go 1.13提供了GOSUMDB環(huán)境變量用于配置Go校驗(yàn)和數(shù)據(jù)庫(kù)的服務(wù)地址(和公鑰),其默認(rèn)值為”sum.golang.org”,這也是Go官方提供的校驗(yàn)和數(shù)據(jù)庫(kù)服務(wù)(大陸gopher可以使用sum.golang.google.cn)。
出于安全考慮,建議保持GOSUMDB開(kāi)啟。但如果因?yàn)槟承┮蛩?,無(wú)法訪問(wèn)GOSUMDB(甚至是sum.golang.google.cn),可以通過(guò)下面命令將其關(guān)閉:
go env -w GOSUMDB=off
GOSUMDB關(guān)閉后,僅能使用本地的go.sum進(jìn)行包的校驗(yàn)和校驗(yàn)了。
參數(shù)考文章:https://github.com/golang/go/issues/35164
https://tonybai.com/2019/10/27/some-changes-in-go-1-13/
知識(shí)點(diǎn)補(bǔ)充:
go get超時(shí)解決辦法
go get gopkg.in/yaml.v2超時(shí),發(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私有庫(kù)提示"410 Gone" 的問(wèn)題及解決辦法的詳細(xì)內(nèi)容,更多關(guān)于go get私有庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go 語(yǔ)言中的select語(yǔ)句詳解及工作原理
在Go語(yǔ)言中,select語(yǔ)句是用于處理多個(gè)通道(channel)操作的一種控制結(jié)構(gòu),它類似于 switch 語(yǔ)句,本文給大家介紹Go 語(yǔ)言中的select語(yǔ)句詳解及工作原理,感興趣的朋友一起看看吧2025-04-04
Golang正整數(shù)指定規(guī)則排序算法問(wèn)題分析
這篇文章主要介紹了Golang正整數(shù)指定規(guī)則排序算法問(wèn)題,結(jié)合實(shí)例形式分析了Go語(yǔ)言排序算法操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
golang API請(qǐng)求隊(duì)列的實(shí)現(xiàn)
本文主要介紹了golang API請(qǐng)求隊(duì)列的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
一文掌握Go語(yǔ)言并發(fā)編程必備的Mutex互斥鎖
Go 語(yǔ)言提供了 sync 包,其中包括 Mutex 互斥鎖、RWMutex 讀寫鎖等同步機(jī)制,本篇博客將著重介紹 Mutex 互斥鎖的基本原理,需要的可以參考一下2023-04-04
使用goland調(diào)試遠(yuǎn)程代碼的操作步驟
大家都知道如何在goland調(diào)試遠(yuǎn)程代碼嗎?今天小編給大家分享一篇教程幫助大家學(xué)習(xí)goland調(diào)試遠(yuǎn)程代碼的操作步驟,感興趣的朋友跟隨小編一起看看吧2021-06-06
Golang中unicode碼和中文的互相轉(zhuǎn)換函數(shù)使用
這篇文章主要為大家介紹了Golang中unicode碼和中文的互相轉(zhuǎn)換函數(shù)使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09

