首页 > 解决方案 > 位于另一个项目的供应商文件夹中的供应商包

问题描述

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

让我从目录结构开始:

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

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

标签: gogovendorvendoring

解决方案


Go 不会让你进入另一个项目的供应商目录。听起来您的意图是确保版本。这就是go modules任务要做的事情。查看wiki了解更多信息。


推荐阅读