Golang 笔记 | 国内 go get 用不了?其实很简单

3,032 阅读1分钟

问题

Go 语言国内无法使用的问题让人头疼,网上有很多方案,设置代理,下载镜像库,但是普遍都太麻烦。

其实官方提供了 go proxy 来解决这个问题。比起使用自己的代理,这种方法更加简单可靠,该镜像是企业项目,经过批准才使用的,合法合规,所以不会轻易挂掉。

解决

首先确定你的 Go 版本是 1.13+,打开终端执行:

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

这时候你的 go get 就可以正常使用了。

$ go get github.com/astaxie/beego

go: downloading github.com/astaxie/beego v1.12.1
go: github.com/astaxie/beego upgrade => v1.12.1
go: downloading golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
go: downloading gopkg.in/yaml.v2 v2.2.1
go: finding module for package github.com/shiena/ansicolor
go: downloading golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: downloading golang.org/x/text v0.3.0
go: downloading github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644
go: found github.com/shiena/ansicolor in github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644

就这么简单。


题外话

如果你之前尝试设置过 HTTPS_PROXY 以及 HTTP_PROXY,可以使用 unset HTTP_PROXYunset HTTPS_PROXY 来取消代理。