0

我正在尝试将项目从 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-holed 分成三四个不同的版本)。

所以问题是,dep 可以处理来自相同“名称”的不同版本的包吗?如果是这样,我们会永远和州长呆在一起吗?那会让我个人不高兴,因为 govendor 是……呃……具有挑战性……(这可能是我们进入这个糟糕地方的原因)

提前感谢所有帮助!

4

1 回答 1

1

所以问题是,dep 可以处理来自相同“名称”的不同版本的包吗?

不。

于 2018-08-16T18:17:01.383 回答