轉載自CSDN的文章 https://blog.csdn.net/gongpulin/article/details/80972806 國內的go get問題的解決 轉載自CSDN的文章 https://blog.csdn.net/gongpulin/article/details/80972806 ...
轉載自CSDN的文章 https://blog.csdn.net/gongpulin/article/details/80972806
國內的go get問題的解決
go get golang.org/x 包失敗解決方法
由於各種問題,國內使用 go get 安裝 golang 官方包可能會失敗,如我自己在安裝 collidermain 時,出現了以下報錯:
- $ go get collidermain
- package golang.org/x/net/websocket: unrecognized import path
- "golang.org/x/net/websocket" (https fetch: Get https://golang.org/x/net/websocket?go-get=1:
- dial tcp 216.239.37.1:443: i/o timeout)
即使用代理也不行,怎麼解決這個問題?
其實 golang 在 github 上建立了一個鏡像庫,如 https://github.com/golang/net 即是 https://golang.org/x/net 的鏡像庫
獲取 golang.org/x/net 包,其實只需要以下步驟:
- mkdir -p $GOPATH/src/golang.org/x
- cd $GOPATH/src/golang.org/x
- git clone https://github.com/golang/net.git
其它 golang.org/x 下的包獲取皆可使用該方法。
例如,很多go的軟體在編譯時都要使用tools裡面的內容,使用下麵方法獲取:
進入上面的x目錄下,輸入:
git clone https://github.com/golang/tools.git
在國內採用go get有時會下載不到一些網站如golang.org的依賴包。
方法1(親測有效): gopm 代替go 下載第三方依賴包
可以採用gopm從golang.org一些鏡像網站上下載。
a). 安裝gopm
go get -u github.com/gpmgo/gopm
- 1
b). 用gopm get -g代替go getgopm get
不採用-g參數,會把依賴包下載.vendor目錄下麵;
採用-g 參數,可以把依賴包下載到GOPATH目錄中;
gopm get -g golang.org/x/net
- 1
方法2(可能有效)
https://blog.csdn.net/jason_cuijiahui/article/details/79305552
https://studygolang.com/articles/12084