ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ### goproxy ***** [goproxy.io](https://github.com/goproxyio/goproxy)这个开源项目帮我们实现好了我们想要的。该项目允许开发者一键构建自己的`GOPROXY`代理服务。同时,也提供了公用的代理服务`https://goproxy.io`,我们只需设置该环境变量即可正常下载被墙的源码包了: ``` export GOPROXY=https://goproxy.io ``` 对于 Windows 用户,可以在`PowerShell`中设置: ``` $env:GOPROXY = "https://goproxy.io" ``` 也可以通过置空这个环境变量来关闭,`export GOPROXY=`。 推荐使用`GOPROXY`这个环境变量的解决方式,前提是**Go version >= 1.11**。 ### go mod replace ***** `go module`被集成到原生的`go mod`命令中,但是如果你的代码库在`$GOPATH`中,`module`功能是默认不会开启的,想要开启也非常简单,通过一个环境变量即可开启`export GO111MODULE=on`。 go.mod示例 ``` module example.com/hello require ( golang.org/x/text v0.3.0 ) replace ( golang.org/x/text => github.com/golang/text v0.3.0 ) ``` 执行命令: ``` $ go mod vender ``` 类似的还有[glide](https://github.com/Masterminds/glide)、[gopm](https://github.com/gpmgo/gopm)等这类第三方包管理工具,都不同方式的解决方案提供给我们。 ### 设置代理 ***** 如果**有代理**,那么可以设置对应的环境变量: ``` export http_proxy=http://proxyAddress:port export https_proxy=http://proxyAddress:port ``` 或者,直接用`all_proxy`: ``` export all_proxy=http://proxyAddress:port ```