登录
首页 >  Golang >  Go问答

使用 golang dep 来自同一 github 源的不同软件包版本

来源:stackoverflow

时间:2024-04-11 14:00:36 320浏览 收藏

本篇文章向大家介绍《使用 golang dep 来自同一 github 源的不同软件包版本》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我正在尝试将项目从 govendor 转换为 dep。然而,我发现 dep 的一个限制使这成为不可能。在govendor 的vendor.json 文件中,我可以让来自同一源的不同包具有不同的修订哈希值。例如这样:

{
    "checksumsha1": "iyt7ablmy0vfyy8nwodzyirlri4=",
    "path": "github.com/docker/docker/api/types",
    "revision": "deed26f7f0f9a9d279b8ac99389f204d9063d1a4",
    "revisiontime": "2018-03-29t10:06:29z"
},
{
    "checksumsha1": "jvjdbe0icyjokc2xbohwzqr+ff0=",
    "path": "github.com/docker/docker/api/types/blkiodev",
    "revision": "88c0317e23449d6ff730a1073f240586cbdfd4ba",
    "revisiontime": "2017-08-23t07:13:08z"
},

但是,当我使用 dep init 解决此问题时,最终的 .lock 文件似乎选择了最新版本:

[[projects]]
digest = "1:3101683c3a63814ac8fe12a61fa01b728340f647c484d71573a31f041a68e7bc"
name = "github.com/docker/docker"
packages = [
    "api/types",
    "api/types/blkiodev",
]
pruneopts = "UT"
revision = "deed26f7f0f9a9d279b8ac99389f204d9063d1a4"

不幸的是,让 github.com/docker/docker 下的每个包都处于同一版本对我们来说根本不起作用。试图使它们全部成为一个修订版会导致对其他传递包的一整套修订版更改,而我们目前根本无法容忍。 (这个例子被删减了,我们在 github.com/docker/docker 下有很多包,这些包被 pidgeon-hole 分成了三四个不同的版本)。

所以问题是,dep 可以处理具有相同“名称”但版本不同的软件包吗?如果是这样,我们是否会永远被州长困住?这会让我个人不高兴,因为州长……呃……很有挑战性……(这可能就是我们陷入这个糟糕境地的原因)

预先感谢您的所有帮助!


解决方案


所以问题是,dep 可以处理具有相同“名称”但版本不同的软件包吗?

没有。

今天关于《使用 golang dep 来自同一 github 源的不同软件包版本》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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