我应该在生产中使用go模块吗?

时间:2019-06-21 09:19:16

标签: go go-modules godeps

我正在使用dep,但是Go 1.11中内置的Go Modules吸引了我

在文档中说:

  

Go 1.11包含对此处建议的版本化模块的初步支持。模块是Go 1.11中的实验性加入功能,并计划纳入反馈并最终确定Go 1.13中的功能。即使某些细节可能会更改,将来的发行版也将支持使用Go 1.11或1.12定义的模块。

即使如此,Go模块似乎仍被社区广泛使用,并且运行良好。

因此,对于一个新项目,我应该使用Go Modules,还是应该坚持使用dep?我需要帮助才能做出决定。

1 个答案:

答案 0 :(得分:0)

我认为,在开始新项目时应切换到模块。 Go 1.13将于8月(大约2个月后)推出,全面支持模块,包括默认使用Go模块镜像和校验和数据库。

引用preliminary Go 1.13 release docs

  

Go 1.13预计将于2019年8月发布。

     

从Go 1.13开始,默认情况下,go命令使用Google运行的Go模块镜像和Go校验和数据库下载并验证模块。有关这些服务的隐私信息,请参见https://proxy.golang.org/privacy,有关配置详细信息,请参见go command documentation,包括如何禁用这些服务器的使用或使用其他服务器。

我看到越来越多的存储库添加了go.mod文件,这意味着它们已经过测试并且可以正常使用模块,即使它们没有go.mod文件,也不会这并不意味着它们不能与模块一起使用,而是需要手动调整依赖项或供应商

也不要忘记:即使您现在不开始在新项目中使用模块,您也可以在将来的任何时候切换到模块,没有人能阻止这种情况。但是,如果从第一天开始使用模块,您将为自己节省一些工作。