当go get 遇上GFW时……

2022/09/1923:58:31当go get 遇上GFW时……已关闭评论

在使用go的小伙伴肯定会发现,当我们愉快的使用go get命令想下载源码包时,发现一直卡着不动,等了半天后,一句Timeout草草结尾了,法克油?

家人们不要慌,此时goproxy给我们已经铺好了路,啥是goproxy?简而言之呢,就是打着合法牌照旗号来下载编译源码了。这还真不是我闭一只眼瞎说的,有链接为证:https://github.com/goproxy/goproxy.cn/

原文如下:

Is Goproxy China legal in China?

Goproxy China is a business-supported project rather than a personal project. And it has been ICP filed in the MIIT of China (ICP license: 沪ICP备11037377号-56), which means it's fully legal in China.

好了,到底是怎么设置后就可以丝滑的下载了呢,人家文章中写得已经很全面了,就知道此刻看文章的你想偷个懒,呐,给你搬过来了

macOS or Linux

Open your terminal and execute

$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn

or

$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile

done.

Windows

Open your PowerShell and execute

C:\> go env -w GO111MODULE = "on"
C:\> go env -w GOPROXY = "https://goproxy.cn"

我们来下载一个网络库,它并没有可执行文件生成

$ go get github.com/davyxu/cellnet

另外为了方便偷懒专业户,我把go get的附加参数列表也搬过来了
go get 使用时的附加参数
使用 go get 时可以配合附加参数显示更多的信息及实现特殊的下载和安装操作,详见下表所示。

go get 使用时的附加参数
附加参数 备 注
-v 显示操作流程的日志及信息,方便检查错误
-u 下载丢失的包,但不会更新已经存在的包
-d 只下载,不安装
-insecure 允许使用不安全的 HTTP 方式进行下载操作

  • 微信扫码赞助
  • weinxin
  • 支付宝赞助
  • weinxin