首页 >后端开发 >Golang >使用 `dep` 提交还是不提交 Go 项目中的 `vendor` 目录?

使用 `dep` 提交还是不提交 Go 项目中的 `vendor` 目录?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-28 11:09:37781浏览

To Commit or Not to Commit the `vendor` Directory in Go Projects Using `dep`?

Go 项目中使用 Dep 进行供应商目录管理

在 Go 开发中,通过 dep 工具管理依赖项可能会引发有关处理最佳实践的问题供应商目录。其中一个问题是是否建议将供应商目录提交到版本控制中。

官方 dep 文档提供了有关此事的指导。 FAQ 部分解决了直接提交供应商目录的问题。根据 dep 的说法,该决定取决于个人偏好和优先级。

提交供应商目录的优点:

  • 可重现的构建:提交供应商目录通过屏蔽上游更改(例如重命名、删除或历史记录)来确保可重现的构建覆盖。
  • 减少依赖管理:提交供应商目录后,无需执行额外的 dep 确保步骤即可在执行 go get 或存储库克隆等常见操作后将其与 Gopkg.lock 同步。

提交供应商的缺点目录:

  • 更大的存储库大小:供应商目录可以显着增加存储库的大小。但是,使用 prune 命令可以帮助缓解此问题。
  • PR 差异更改: 对 Gopkg.lock 文件的更改可能会导致 PR 差异包括对供应商目录中文件的修改。值得注意的是,GitHub 默认隐藏了这些文件。

最终,是否提交供应商目录的决定取决于具体的项目需求和偏好。如果可重复的构建和简化的依赖管理比存储库大小和 PR 差异清晰度更重要,那么提交供应商目录可能是首选方法。

以上是使用 `dep` 提交还是不提交 Go 项目中的 `vendor` 目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn