Godeps与Go中的供应商系统

Godeps与Go中的供应商系统,go,Go,我读了很多关于Go依赖关系管理的文档,我知道Go有两个系统来管理它们: *1.5系统及之前 *1.6及更高版本 双方都试图解决的问题是:如何创建一个可复制的构建,使所有依赖项都处于预期的确切提交级别? 第一个基本上有一个Godeps文件夹,其中包含Godeps.json文件,其中报告了具有自己提交级别的依赖项列表。 然后,开发人员可以使用命令轻松地重新创建相同的开发环境 供应商系统也会发生同样的情况。这一次我们有一个vendor文件夹,其中包含vendor.json文件 现在在我看来,这两个系统

我读了很多关于Go依赖关系管理的文档,我知道Go有两个系统来管理它们: *1.5系统及之前 *1.6及更高版本

双方都试图解决的问题是:如何创建一个可复制的构建,使所有依赖项都处于预期的确切提交级别?

第一个基本上有一个Godeps文件夹,其中包含Godeps.json文件,其中报告了具有自己提交级别的依赖项列表。 然后,开发人员可以使用命令轻松地重新创建相同的开发环境

供应商系统也会发生同样的情况。这一次我们有一个vendor文件夹,其中包含vendor.json文件

现在在我看来,这两个系统看起来很相似,我不清楚为什么会引入新系统。他们显然做了同样的事情,我不清楚第一个系统解决了第二个系统的哪个问题

有人能给我解释一下吗?有人能解释第一种方法和第二种解决方法存在问题的真实示例吗?
感谢

Vendoring是一种机制(在v1.5中引入),godep是实现自动化的多种实现之一。您可以手动复制粘贴供应商依赖项。godep、glide和其他工具只是帮助自动化管理它。我很清楚这一点。但是,既然已经有了Godeps和Godeps.json的方法,为什么还要在1.5中引入供应商系统作为实验特性呢。此外,它们看起来非常相似,所以我不清楚为什么要引入新系统。显然,如果你告诉我Godeps系统只是成为管理依赖关系的官方方法,而谷歌只是将其重命名为供应商,一切都会改变。这是真的吗?
vendor
文件夹是一种烘焙到核心Go工具中的方法,尤其是
Go
工具。这是一个官方的实验,目的是看看贩卖是否有效,哪些效果好,哪些需要改变。github.com/tools/godep是一个(非官方)工具,其作用大致相同。有一个即将推出的新工具github.com/golang/dep,它将是某种“官方”依赖关系管理工具。我必须承认,我不明白你在问什么。不同的人和不同的群体/社区一直在独立解决一些问题,并找到了不同的解决方案。与供应商文件夹和godep相比,有更多的方法和工具来管理Go依赖关系,这没关系。Godeps系统只是成为管理依赖关系的官方方法,而谷歌只是将其改名为vendor“这是完全错误的。”。如前所述:大概有10种方法可以做到这一点,供应商和godeps只是两种。希望这一混乱局面能够巩固并汇聚到
dep
。你的第一个答案让我满意。这正是我所期待的,也符合我迄今所学到的。如果你在答案中复制并通过它,我会接受它作为答案。Vendoring是一种机制(在v1.5中引入),godep是实现自动化的多种实现之一。您可以手动复制粘贴供应商依赖项。godep、glide和其他工具只是帮助自动化管理它。我很清楚这一点。但是,既然已经有了Godeps和Godeps.json的方法,为什么还要在1.5中引入供应商系统作为实验特性呢。此外,它们看起来非常相似,所以我不清楚为什么要引入新系统。显然,如果你告诉我Godeps系统只是成为管理依赖关系的官方方法,而谷歌只是将其重命名为供应商,一切都会改变。这是真的吗?
vendor
文件夹是一种烘焙到核心Go工具中的方法,尤其是
Go
工具。这是一个官方的实验,目的是看看贩卖是否有效,哪些效果好,哪些需要改变。github.com/tools/godep是一个(非官方)工具,其作用大致相同。有一个即将推出的新工具github.com/golang/dep,它将是某种“官方”依赖关系管理工具。我必须承认,我不明白你在问什么。不同的人和不同的群体/社区一直在独立解决一些问题,并找到了不同的解决方案。与供应商文件夹和godep相比,有更多的方法和工具来管理Go依赖关系,这没关系。Godeps系统只是成为管理依赖关系的官方方法,而谷歌只是将其改名为vendor“这是完全错误的。”。如前所述:大概有10种方法可以做到这一点,供应商和godeps只是两种。希望这一混乱局面能够巩固并汇聚到
dep
。你的第一个答案让我满意。这正是我所期待的,也符合我迄今所学到的。如果你抄写并在答案中过去时,我会接受它作为答案。