在 Golang 中保留相同过渡依赖项的 2 个不同次要版本

所以我有以下情况。我的项目有 2 个依赖项:

  • example.com/a - 需要 example.com/c v0.1.0

  • example.com/b - 需要 example.com/c v0.2.0

example.com/c 的开发人员在 0.2.0 中进行了一些向后不兼容的更改,导致 example.com/a 构建失败,但 example.com/b 依赖于 example.com/c 的开发人员在 0.2.0 中添加的新功能,所以我的项目无法同时使用 example.com/c v0.1.0 和 v0.2.0 进行编译

根据 golang 文档,example.com/c 的开发人员有权进行向后不兼容的更改,因为他们还没有发布 v1.0.0,所以这里不怪他们。

Golang 使用 example.com/c 的旧版本或新版本,但不能同时使用它们,因为它们的主要版本相同,导致项目因其中任何一个而失败。

我无权访问 example.com/c 存储库,因此我无法在这里修复问题,但我可以分叉一个存储库并使用我的副本。

为了让我可以在我的项目中并行使用这两个依赖项,可以采取哪些最少的操作?


慕田峪9158850
浏览 134回答 1
1回答

神不在的星期二

为了让我可以在我的项目中并行使用这两个依赖项,可以采取哪些最少的操作?你不能。您必须“分叉”(即重命名)一个并重写所有内容。这里的教训是:不要依赖不稳定的东西。尤其是不及物。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go