繁体   English   中英

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

[英]Keep 2 different minor versions of the same transitional dependency in Golang

所以我有以下情况。 我的项目有 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 存储库,因此我无法在这里修复问题,但我可以分叉一个存储库并使用我的副本。

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

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

你不能。 您必须“分叉”(即重命名)一个并重写所有内容。

这里的教训是:不要依赖不稳定的东西。 尤其是不及物。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM