問題背景:
當我們設置了 GOPROXY=https://proxy.golang.org
,使用 Go module
管理依賴,
有時會出現依賴找不到的情況(報錯類似這樣):
go: github.com/golangci/[email protected]: unexpected status (https://proxy.golang.org/github.com/golangci/ineffassign/@v/v0.0.0-20180808204949-42439a7714cc.info): 410 Gone
出現該問題的原因是 https://proxy.golang.org
目前開啓了版本驗證,官網說明請戳這裏
解決方案:
解決該問題主要有兩個方式:
- 設置
GOPROXY=direct
,也就是不走https://proxy.golang.org
了 - 在
go.mod
文件中通過 replace 功能修改依賴的版本,選擇一個https://proxy.golang.org
中存在的兼容版本
例如本例替換方式:
replace (
github.com/golangci/ineffassign => github.com/golangci/ineffassign v0.0.0-20180808204949-2ee8f2867dde
)
如果你不清楚應該使用哪個版本,可以直接嘗試將版本號設置爲 latest
,go mod
會自動計算實際最新的版本號。