解决go get下载包失败问题
由于某些不可抗力的原因,国内使用go get
命令安装包时会经常会出现timeout的问题。本文介绍几个常用的解决办法。
从github克隆
golang在github上建立了一个镜像库,如https://github.com/golang/net
就对应是 https://golang.org/x/net
的镜像库。要下载golang.org/x/net
包,可以在本地创建包的目录后使用git clone
来拉取相应包的源代码文件,具体操作如下:
1 | mkdir -p $GOPATH/src/golang.org/x |
使用gopm
使用gopm可以从golang.org的一些镜像网站上下载。
安装gopm
使用gopm安装第三方包
不加-g
参数,会把依赖包下载.vendor
目录下面;加上-g
参数,可以把依赖包下载到GOPATH
目录中。
1 | gopm get -g golang.org/x/net |
使用goproxy
Go的1.11版本以后 可以设置GOPROXY
这个变量,来设置代理。如果你自己有代理服务器就可以把这个环境变量设置成自己的代理。首先开启go module
支持:
在Mac/linux下执行:
1 | export GO111MODULE=on |
Windows平台执行:
1 | SET GO111MODULE=on |
我们这里以https://goproxy.cn
为例:在Mac/linux下可以执行以下命令来设置:
1 | export GOPROXY=https://goproxy.cn |
Windows平台在cmd
执行以下命令来设置:
1 | SET GOPROXY="https://goproxy.cn" |
或者在PowerShell
中执行:
1 | C:\> $env:GOPROXY = "https://goproxy.cn" |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Macolm's Blog!