因为某些不可抗力的起因,国内应用 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/x
cd $GOPATH/src/golang.org/x
git 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"