我在 go1.12 上使用 go 模块来处理我的 Go 依赖项。是否最好同时提交 vendor/
目录到版本控制?
这与 Is it best-practice to commit the `vendor` directory? 有点相关。在使用 dep
的情况下会问这个问题.与 dep
, 提交 vendor/
是获得真正可重复构建的唯一方法。 go 模块呢?
最佳答案
除非您需要修改 vendor 的软件包,否则您不应该这样做。 Go 模块已经为您提供了可重现的构建,如 go.mod
文件记录了您的依赖项的确切版本和提交哈希,go
工具会尊重和遵循。vendor
可以通过运行 go mod vendor
重新创建目录命令,它甚至被 go build
默认忽略除非您要求它与 -mod=vendor
一起使用旗帜。
阅读更多详情:
Go wiki: How do I use vendoring with modules? Is vendoring going away?
Command go: Modules and vendoring
Command go: Make vendored copies of dependencies
关于go - 我应该使用 go mod 提交 vendor 目录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60865004/