【发布时间】:2019-06-21 17:51:58
【问题描述】:
我正在使用 dep,但我被 Go 1.11 中内置的 Go Modules 所吸引
在文档中,它说:
Go 1.11 包括对此处提议的版本化模块的初步支持。模块是 Go 1.11 中的一个实验性选择加入功能,计划结合反馈并最终确定 Go 1.13 的功能。尽管某些细节可能会发生变化,但未来的版本将支持使用 Go 1.11 或 1.12 定义的模块。
尽管如此,Go Modules 似乎被社区广泛使用,并且运行良好。
那么,对于一个新项目,我应该使用 Go Modules,还是应该坚持使用 dep ?我需要帮助才能做出决定。
【问题讨论】:
-
你应该做什么或不应该做什么是见仁见智的问题。任何此类决定都有利有弊。我们无法告诉你该怎么做。
-
IMO 你应该在开始一个新项目时切换到模块。 Go 1.13 将于 8 月发布(约 2 个月后),全面支持模块,包括 Go 模块镜像和校验和数据库的默认使用。也别忘了:如果你从
dep开始,将来你总是可以选择切换到模块……这不像你现在选择的那样,你将不得不终生携带。 -
@icza 好的,2 个月的争论很好。你可以把它作为一个答案
-
不确定您所说的“生产中”是什么意思。模块对运行程序没有影响,只会对构建程序产生影响,这不应该在“生产”中发生。生产环境应该是您运行已构建应用程序的地方。
-
VS Code 等工具和编辑器仍然存在一些问题。然而,这些模块被广泛接受。
标签: go go-modules godeps