有時候,釋出 go 庫會發現在其他專案中無法引用,產生 410 Gone 錯誤。
這是由於你的 go 庫宣告為 go 1.12 格式,此時將沒有 SUMDB 校驗資訊,因而在一個 go 1.13 的專案中引用這樣的舊的庫格式時會產生校驗錯誤,進而報錯為 410 Gone。
例如:
解決的辦法有很多。
對於使用該舊格式庫的人來說,以下兩個辦法都能幫助你順利下載庫和完成引用:
export GONOSUMDB="github.com/hedzr/errors,$GONOSUMDB"
# Or
export GOSUMDB=off
複製程式碼
對於該庫的擁有者而言,下面的辦法是正確的處理方案,可以一勞永逸地解決問題:在 go.mod 中修改庫宣告的版本格式為 1.13。例如:
module github.com/hedzr/errors
go 1.13 // go 1.12
複製程式碼
對於庫作者而言,如果還有任何釋出的庫的 go.mod 中包含 go 1.12
宣告的,都應該立即更新庫為新版本本修正這個宣告為 go 1.13
,以避免他人遇到麻煩。