因为某些不可抗力的起因,国内应用go get命令安装包时会常常会呈现timeout的问题。本文介绍几个罕用的解决办法。

从github克隆

golang在github上建设了一个镜像库,如https://github.com/golang/net就对应是 https://golang.org/x/net的镜像库。 要下载golang.org/x/net包,能够在本地创立包的目录后应用git clone来拉取相应包的源代码文件,具体操作如下:

mkdir -p $GOPATH/src/golang.org/xcd $GOPATH/src/golang.org/xgit clone https://github.com/golang/net.git

应用gopm

应用gopm能够从golang.org的一些镜像网站上下载。

装置gopm

go get -u github.com/gpmgo/gopm

应用gopm装置第三方包

不加-g参数,会把依赖包下载.vendor目录上面; 加上-g参数,能够把依赖包下载到GOPATH目录中。

gopm get -g golang.org/x/net  

应用goproxy

Go的1.11版本当前 能够设置GOPROXY这个变量,来设置代理。 如果你本人有代理服务器就能够把这个环境变量设置成本人的代理。 首先开启go module反对:

在Mac/linux下执行:

export GO111MODULE=on

Windows平台执行:

SET GO111MODULE=on

2019.6.10更新:goproxy.cn

咱们这里以https://goproxy.cn为例:

在Mac/linux下能够执行以下命令来设置:

export GOPROXY=https://goproxy.cn

Windows平台在cmd执行以下命令来设置:

SET GOPROXY="https://goproxy.cn"

或者在PowerShell中执行:

C:\> $env:GOPROXY = "https://goproxy.cn"