Go Get安装一些第三方库-网络问题

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

$ go get -u -v golang.org/x/lint/golint
Fetching https://golang.org/x/lint/golint?go-get=1
https fetch failed: Get https://golang.org/x/lint/golint?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

不翻墙的情况下怎么解决这个问题?其实 golang 在 github 上建立了一个镜像库,如 https://github.com/golang/lint 即是 https://golang.org/x/lint 的镜像库
获取 golang.org/x/lint 包,其实只需要以下步骤:

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/lint.git

#执行go install
go install golang.org/x/lint/golint

ps
go get实际是从互联网上下载或更新指定的代码包及其依赖包,并对它们进行编译和安装。所以上面的步骤需要手动go install一下代码包。
go get常用的辅助参数。

-insecure 允许非安全下载,主要是针对没有HTTPS的HTTP路径。
-u 这个很常见,有更新的话会覆盖本地的package,默认不会覆盖的。
-v 显示Log,即verbose.
-t 同时下载需要运行测试的package.
-d 只下载,但不安装package.