简单设置一下就能用了:

用法
Go 1.13 及以上(推荐)

打开你的终端并执行

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

完成。

macOS 或 Linux

打开你的终端并执行

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

或者

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

完成。

Windows

打开你的 PowerShell 并执行

C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"

或者

  1. 打开“开始”并搜索“env”
  2. 选择“编辑系统环境变量”
  3. 点击“环境变量…”按钮
  4. 在“<你的用户名> 的用户变量”章节下(上半部分)
  5. 点击“新建…”按钮
  6. 选择“变量名”输入框并输入“GO111MODULE”
  7. 选择“变量值”输入框并输入“on”
  8. 点击“确定”按钮
  9. 点击“新建…”按钮
  10. 选择“变量名”输入框并输入“GOPROXY”
  11. 选择“变量值”输入框并输入“https://goproxy.cn
  12. 点击“确定”按钮

完成。

自托管 Go 模块代理
你的代码永远只属于你自己,因此我们向你提供目前世界上最炫酷的自托管 Go 模块代理搭建方案。通过使用 Goproxy 这个极简主义项目,你可以在现有的任意 Web 服务中轻松地加入 Go 模块代理支持,要知道 goproxy.cn 就是基于它搭建的。

创建一个名为 goproxy.go 的文件

package main

import (
    "net/http"
    "os"

    "github.com/goproxy/goproxy"
)

func main() {
    g := goproxy.New()
    g.GoBinEnv = append(
        os.Environ(),
        "GOPROXY=https://goproxy.cn,direct", // 使用 goproxy.cn 作为上游代理
        "GOPRIVATE=git.example.com",         // 解决私有模块的拉取问题(比如可以配置成公司内部的代码源)
    )
    http.ListenAndServe("localhost:8080", g)
}

并且运行它

$ go run goproxy.go

然后通过把 GOPROXY 设置为 http://localhost:8080 来试用它。另外,我们也建议你把 GO111MODULE 设置为 on。

就这么简单,一个功能完备的 Go 模块代理就搭建成功了。事实上,你可以将 Goproxy 结合着你钟爱的 Web 框架一起使用,比如 Gin 和 Echo,你所需要做的只是多添加一条路由而已。更高级的用法请查看文档。

最后修改:2020 年 05 月 21 日
如果觉得我的文章对你有用,请随意赞赏