由于国内的网络环境导致在下载依赖 golang.org/x 下的包时一般会出错。
比如 :
https fetch failed: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
一般你可以通过设置代理,如果代理使用了 pac 模式的话,可能需要编辑下 pac 文件。下面要介绍的是一种不代理的解决办法。
原理
-
当我们使用
import "golang.org/x/tools/go/buildutil"导入包时,其实导入的是$GOPATH/src/golang.org/x/tools/go/buildutil目录的包。 -
"golang.org/x" 下的包在 "github.com/golang"有镜像库。
-
所以我们可以从 github.com 上将对应包下载下来放到对应的目录即可。
实例
比如先切换到 $GOPATH 的 src 目录,cd $GOPATH/src,然后按需要下载:
git clone --depth 1 https://github.com/golang/tools.git golang.org/x/toolsgit clone --depth 1 https://github.com/golang/lint.git golang.org/x/lintgit clone --depth 1 https://github.com/golang/net.git golang.org/x/netgit clone --depth 1 https://github.com/golang/sys.git golang.org/x/sysgit clone --depth 1 https://github.com/golang/crypto.git golang.org/x/cryptogit clone --depth 1 https://github.com/golang/text.git golang.org/x/textgit clone --depth 1 https://github.com/golang/image.git golang.org/x/imagegit clone --depth 1 https://github.com/golang/oauth2.git golang.org/x/oauth2









网友评论