[TOC]
go get
下载包失败问题描述: 由于某些不可抗力的原因,国内使用go get
命令安装包时会经常会出现timeout的问题。
本文介绍几个常用的解决办法。
Tips : 注意这是一篇针对go 1.11之前版本国内go get命令安装包不成功的解决办法,现在的你极有可能只需要配置下GOPROXY
即可解决相应包下载失败的问题。
1.1 从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
1.2 使用gopm 描述: 使用gopm可以从golang.org的一些镜像网站上下载。
# 1.安装 gopm
go get -u github.com/gpmgo/gopm
# 2.使用gopm安装第三方包
gopm get -g golang.org/x/net
Tips : 不加-g参数,会把依赖包下载.vendor
目录下面; 加上-g参数,可以把依赖包下载到GOPATH目录中。
1.3 使用goproxy 描述: Go的1.11版本以后可以设置GOPROXY这个变量,来设置代理。
# 在Mac/linux下执行:
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
# Windows平台执行:
SET GO111MODULE=on
SET GOPROXY="https://goproxy.cn" # $env:GOPROXY = "https://goproxy.cn"