Vgo 和私人仓库

Vgo and private repositories

我正在尝试将vgo引入到我们公司的一些项目中进行依赖管理,但是我遇到了一些与私有存储库相关的问题。

假设我们有以下代码结构:

go/src/companyName/projectA/

go/src/companyName/projectB/

go/src/companyName/projectC/

所有三个项目都有不同的 git 存储库,projectA 导入 projectB。

使用正常的 go build 方法,只要我们有这些目录(在 git 下),一切都很好,但是我们不能让它与 vgo wrapper 一起工作。

vgo build 上抛出以下错误:

companyName/projectA/ cannot find module providing package companyName/projectB/

哪一种说得通,因为 vgo get -v 我可以看到 vgo 试图从 https://companyName 获取元标签,这不能根据公司政策公开。

告诉 vgo 使用文件系统内容(如果源文件已经存在)或特定 git 某些导入路径的存储库的最佳方法是什么?

解决这个问题的一种方法是通过 GOPROXY 环境变量,它可以设置为本地文件。

export GOPROXY=file:///path/to/cache

有关更多信息,请查看; https://github.com/golang/go/blob/master/src/cmd/go/testdata/mod/README