出現問題分析
GOPROXY
代理有問題魔法牆問題
狀況錯誤提示:
執行命令
go get -insecure github.com/tiaguinho/gosoap
錯誤提示如下:
go get github.com/tiaguinho/gosoap: module github.com/tiaguinho/gosoap: Get "https://goproxy.io/github.com/tiaguinho/gosoap/@v/list": x509: certificate signed by unknown authority
解決
關閉代理,啟用魔法牆.
或者換一個代理
設定與切換代理方法
Go
版本是 1.13 及以上
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
其他版本
$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
檢視GO的配置
$ go env
以JSON
格式輸出
$ go env -json
國內其他代理
goproxy
七牛雲
阿里雲
問題解決
換了個代理
執行成功
執行程式碼 如下:
D:\go
λ go env -w GOPROXY=https://goproxy.cn,direct
D:\go
λ go get github.com/tiaguinho/gosoap
go: github.com/tiaguinho/gosoap upgrade => v1.4.4
go: downloading golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553
如果還沒解決
再次分析問題
- go get 不支援程式碼支援之外的倉庫。並且git 呼叫鏈過程採取了https
- 下載過程如果機器設定了GOPROXY,會導致下載失敗
- 編譯過程會導致CHECKSUM失敗
說明,是google
不讓你拉取私有包.
那麼,你需要設定私有包.
再次解決問題
目前有以下三種方式:
給釋出的倉庫打tag比如v0.0.1,這樣倉庫地址就可以被識別
配置 私有
export GOPRIVATE=git.xxxxxxx.com
go
1.13版本以上go env -w GOPRIVATE=git.xxxxxxx.com
go build
的時候系統就不會用GOPROXY
以及不再校驗SUM
- 調整
git https===>ssh
,注意username
換成自己的使用者名稱[url "username@git.xxxxxxx.com"] insteadOf = https://git.xxxxxxx.com
如果還還還沒解決!
那你放棄吧.換個包.
本作品採用《CC 協議》,轉載必須註明作者和本文連結