go - 驻留在另一个项目的 vendor 文件夹中的 vendor 包

标签 go govendor vendoring

我正在编写一个依赖于某些导入的库包,但我不确定如何正确处理它。

让我从目录结构开始:

go/src/github.com/
├── developer A/
│   ├── project 1
│   └── project 2
│   
└── developer B/
    └── project 3
        └── vendor
            └── project 4

项目 1 是一个图书馆。它在项目 2 中使用,并被拉入 2s vendor 文件夹。因此,项目 1 应该包含它的所有依赖项,这样客户端(例如项目 2)也不需要拉取它们。但是,项目 1 的一个依赖项是项目 4,它包含在项目 3 的 vendor 文件夹中。重要的是,此依赖项始终与项目 3 供应的版本完全相同。Go 不允许导入指向 vendor 文件夹内的包,因此我无法直接从那里导入它。我该如何使用 govendor 解决这个问题?

最佳答案

Go 不会让您进入另一个项目的 vendor 目录。听起来您的意图是确保版本。这就是 go modules 的任务。看看 wiki获取更多信息。

关于go - 驻留在另一个项目的 vendor 文件夹中的 vendor 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53341834/

相关文章:

戈朗 : Mixing Gin with an UDP server

memory - Go 分析配置文件为空

linux - 起订量 : running "moq": exec: "moq": executable file not found in $PATH

Go 中的 Azure JWT 验证不起作用

Govendor 作为类型错误

Golang vendor 包以及 vendor 子包

amazon-web-services - 为什么 AWS elastic beanstalk 无法构建我的应用程序?

go - 管理通过非标准端口访问的自定义 Go 模块