Dependencies 右戈朗自动售货机

Dependencies 右戈朗自动售货机,dependencies,glide-golang,Dependencies,Glide Golang,我想让我的所有依赖项都在Go中的项目旁边受源代码控制 我可以看到有两个主要的工具来完成这项工作(Dep和Glide) 问题在于Dep在其页面上声明: dep是“官方实验”。从1.11开始,Go工具链已经 (实验上)采用了一种与dep截然不同的方法。 因此,我们正在继续发展dep,但仍在努力 主要是为了开发一个用于 工具链中的版本控制行为 另一方面,Glide似乎没有任何回购活动 我想知道你们处理这件事的“最好”方式是什么 我真的很喜欢Go,这是一种哲学,但我必须承认依赖关系管理真的很混乱。我不是

我想让我的所有依赖项都在Go中的项目旁边受源代码控制

我可以看到有两个主要的工具来完成这项工作(Dep和Glide)

问题在于Dep在其页面上声明:

dep是“官方实验”。从1.11开始,Go工具链已经 (实验上)采用了一种与dep截然不同的方法。 因此,我们正在继续发展dep,但仍在努力 主要是为了开发一个用于 工具链中的版本控制行为

另一方面,Glide似乎没有任何回购活动

我想知道你们处理这件事的“最好”方式是什么


我真的很喜欢Go,这是一种哲学,但我必须承认依赖关系管理真的很混乱。

我不是Golang专家,所以我可能错了,但根据:

对于任何生产工作负载,请使用dep,如果尚未使用dep,请迁移到dep

该提案已被接受,vgo在版本1.11中被合并到Go树中

您将能够使用Go 1.11中的模块工作流进行实验,因为它是作为实验包含在本版本中的

因此,模块支持目前似乎处于实验模式,在vgo完全集成之前,对于任何生产就绪的代码,您都应该坚持使用dep

请注意,如前所述,dep有自己的一组问题,主要围绕冲突版本和可传递依赖项管理。在vgo被视为生产就绪之前,我的理解是,您需要自己处理这些问题


编辑:增加了关于dep问题的部分。

我不是Golang专家,所以我可能是错的,但根据:

对于任何生产工作负载,请使用dep,如果尚未使用dep,请迁移到dep

该提案已被接受,vgo在版本1.11中被合并到Go树中

您将能够使用Go 1.11中的模块工作流进行实验,因为它是作为实验包含在本版本中的

因此,模块支持目前似乎处于实验模式,在vgo完全集成之前,对于任何生产就绪的代码,您都应该坚持使用dep

请注意,如前所述,dep有自己的一组问题,主要围绕冲突版本和可传递依赖项管理。在vgo被视为生产就绪之前,我的理解是,您需要自己处理这些问题


编辑:添加了关于dep问题的部分。

根据我的经验,我的解决方案是用来管理依赖关系的。我在安装依赖项时遇到了一些与dep有关的问题,我花了很多精力来修复它。所以我切换到go模块,它在生产环境中按预期工作。模块是Go中的内置功能,在Go 1.11中引入,从Go 1.13开始,模块模式将是所有开发的默认模式

Go模块使安装依赖项更快更容易。对于模块,所有依赖项都将列在
go.mod
文件中:

module example.com/hello

require (
    github.com/some/dependency v1.2.3
    github.com/another/dependency/v4 v4.0.0
)
如何获取依赖关系:

go get github.com/some/dependency@v1.2.3

根据我的经验,我的解决方案是用来管理依赖关系的。我在安装依赖项时遇到了一些与dep有关的问题,我花了很多精力来修复它。所以我切换到go模块,它在生产环境中按预期工作。模块是Go中的内置功能,在Go 1.11中引入,从Go 1.13开始,模块模式将是所有开发的默认模式

Go模块使安装依赖项更快更容易。对于模块,所有依赖项都将列在
go.mod
文件中:

module example.com/hello

require (
    github.com/some/dependency v1.2.3
    github.com/another/dependency/v4 v4.0.0
)
如何获取依赖关系:

go get github.com/some/dependency@v1.2.3