Go 位于另一个项目中的供应商包';s供应商文件夹
我正在编写一个依赖于某些导入的库包,但我不确定如何正确处理它 让我从目录结构开始:Go 位于另一个项目中的供应商包';s供应商文件夹,go,govendor,vendoring,Go,Govendor,Vendoring,我正在编写一个依赖于某些导入的库包,但我不确定如何正确处理它 让我从目录结构开始: go/src/github.com/ ├── developer A/ │ ├── project 1 │ └── project 2 │ └── developer B/ └── project 3 └── vendor └── project 4 项目1是一个库。它用于项目2中,并被拉入2s供应商文件夹。因此,项目1应该包含它的所有依赖项,这样客
go/src/github.com/
├── developer A/
│ ├── project 1
│ └── project 2
│
└── developer B/
└── project 3
└── vendor
└── project 4
项目1是一个库。它用于项目2中,并被拉入2s供应商文件夹。因此,项目1应该包含它的所有依赖项,这样客户机(例如项目2)就不需要拉它们了。然而,项目1的一个依赖项是项目4,它包含在项目3s供应商文件夹中。至关重要的是,此依赖关系始终与project 3提供的版本完全相同。Go不允许导入指向供应商文件夹中的包,所以我不能直接从那里导入。如何使用Govendo解决此问题?Go不会让您进入另一个项目的供应商目录。听起来您的意图是确保版本。这就是
go模块
的任务。查看以获取更多信息。Go不会让您访问其他项目的供应商目录。听起来您的意图是确保版本。这就是go模块
的任务。查看以了解更多信息。您是否控制项目3?作为一项规则,库不应该提供它们的依赖项——只有最终产品应该提供。相反,库应该使用dep
或类似工具声明它们的依赖关系。不,我不控制project 3。我控制项目1和项目2。我试图将相同版本的project 4拉入project 2s供应商文件夹,但这不起作用,因为Go认为这些类型不同,因为它们位于不同的存储库中。您是否控制project 3?作为一项规则,库不应该提供它们的依赖项——只有最终产品应该提供。相反,库应该使用dep
或类似工具声明它们的依赖关系。不,我不控制project 3。我控制项目1和项目2。我试图将相同版本的Project4拉入Project2S供应商文件夹,但这不起作用,因为Go认为这些类型不同,因为它们位于不同的存储库中。这看起来不错。但是,我现在被GOO1.1.4所困扰,不能使用模块。关于使用<代码> GLIDE 或go mod
的团队提出警告,因为这可能是该领域的赢家。这看起来不错。但是,我现在被GOO1.1.4所困扰,不能使用模块。关于使用<代码> GLIDE 或go mod
的团队提出警告,因为这可能是该领域的赢家。