登录
首页 >  Golang >  Go问答

在 Golang 中保留同一依赖项的不同次要版本

来源:stackoverflow

时间:2024-03-01 23:57:27 394浏览 收藏

一分耕耘,一分收获!既然都打开这篇《在 Golang 中保留同一依赖项的不同次要版本》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新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 存储库,因此无法修复此处的问题,但我可以分叉一个存储库并使用我的副本。

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


正确答案


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

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

这里的教训是:不要依赖不稳定的东西。尤其是不能传递。

今天关于《在 Golang 中保留同一依赖项的不同次要版本》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>