首页 > 解决方案 > 如何获取添加为 git 子模块的依赖项的子依赖项

问题描述

假设我正在开发一个名为X的 Go 项目,该项目依赖于回购Y。我还没有在我的项目X中使用 go mods 。

我现在使用以下命令在供应商 pkg 的 项目X中添加Y作为 git 子模块:git submodule add <URL to Git repo> <Directory in vendor pkg>

存储库 Y 对项目具有子依赖项,例如在Gopkg.tomlgo.mod文件中定义的Z。现在,当我将代码放到服务器上并运行以下命令来获取子模块Y时,依赖项Z的文件仍然丢失。

我应该怎么做才能使用Gopkg.tomlgo.mod文件下载Z的文件,而无需明确进入Y并下载。

标签: gitgodependenciesgit-submodulesgo-modules

解决方案


“我修改了一个供应商 pkg,因此无法转为去 mod”

实际上,您可以在 go.mod 中使用replace指令来引用 Y。

replace example.com/original/import/path => vendor/Y

这样,go mod tidy/go mod download应该下载Z.


推荐阅读