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