登录
首页 >  Golang >  Go问答

最佳实践:go mod 与 go get 的用法

来源:stackoverflow

时间:2024-02-21 08:03:24 131浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《最佳实践:go mod 与 go get 的用法》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

这里还是 Go 的新开发者。 我想知道使用 go mod 和 go get 的最佳实践是什么。 我有 go.mod 文件,仅包含与运行生产构建相关的模块。 在管道期间,我确实想运行一些代码质量检查,例如 go vet/lint 和其他测试。

要运行这个,我需要获得一些额外的模块。但是一旦我这样做了,我的 go.mod 就会更新,但vendor/modules.txt 不会更新,这会产生一些问题。

我看到了两个解决方案,但似乎都不正确:

1-我在 go get 之后运行 go mod 供应商,这将更新我需要的所有文件。不是特别烦人,但对我来说,必须调用两个不同的命令才能更新我的模块似乎很奇怪。

2-我默认将 linting/tests 和其他检查所需的模块放入 go.mod 文件中。但这对我来说听起来很奇怪,生产构建不需要 linting 模块,我不应该发布它们。

我是不是想太多了,我应该选择 2 吗?或者这里还有其他好的做法吗?


正确答案


是的,你应该这样做。您的 go.mod 包含使用您的项目所需的所有内容,而不仅仅是生产构建所需的所有内容。在那里包含非生产依赖项没有什么坏处。生产二进制文件未使用的依赖项根本不包含在二进制文件中。

到这里,我们也就讲完了《最佳实践:go mod 与 go get 的用法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>