转载自CSDN的文章 https://blog.csdn.net/gongpulin/article/details/80972806
国内的go get问题的解决

go get golang.org/x 包失败解决方法

由于各种问题,国内使用 go get 安装 golang 官方包可能会失败,如我自己在安装 collidermain 时,出现了以下报错:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  1. $ go get collidermain
  2. package golang.org/x/net/websocket: unrecognized import path
  3. "golang.org/x/net/websocket" (https fetch: Get https://golang.org/x/net/websocket?go-get=1:
  4. 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 包,其实只需要以下步骤:

  1. mkdir -p $GOPATH/src/golang.org/x
  2. cd $GOPATH/src/golang.org/x
  3. 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

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄