如何将 Gogs 设置为 "go get" 的本地 github 缓存

How to setup Gogs as a local github cache for "go get"

我有一个 Gogs 服务器设置和 运行 PostgreSQL。我还使用 Gogs 网络界面从 github 镜像了一个 public 仓库。

现在我想知道是否可以让命令行 go get 使用 Gogs 服务器作为获取包的代理? IE。我希望像 https_proxy=http://gogs_server:3000 go get -u github.com/user/repo 这样的命令从本地 Gogs 服务器下载镜像仓库,而不是实际去 github.com 下载它。

为此,您很可能必须创建某种自定义 HTTP 代理来重写 GitHub URL 以指向您的 Gogs 实例,然后将其粘贴在 go get 和互联网。

但是,如果您只是想在本地缓存包以获得更好的性能(或更好的可靠性),建议将它们保存在 vendor directory 中。这样,它们就不会意外消失,并与您的其余代码一起保存在源代码管理中。