【问题标题】:Advice on vendoring dependencies in Go关于 Go 中的 vendoring 依赖项的建议
【发布时间】:2015-12-20 18:55:53
【问题描述】:

我正在开发一个需要一些依赖项的项目。我对有关供应商的最佳实践感到有些困惑。目前我正在使用 GO15VENDOREXPERIMENT 并将依赖项复制到供应商目录中。

https://github.com/jeffellin/machine-cloudformation/tree/master/vendor/github.com

当我需要更新依赖项时,我会从 docker-machine 手动签出源代码并将其复制到我的供应商目录中。这带来了很多不必要的代码、测试等。有没有关于自动化的建议?我习惯了 maven,我可以在配置文件中指定版本信息。

GODEPS 呢?这对 GO15VENDOREXPERIMENT 有何影响。我更喜欢不需要将依赖项签入到源代码树中的解决方案。

【问题讨论】:

  • 查看glide——它的主要目的是支持“go 1.5 vendor Experiment”。我最近自己在研究供应商主题并选择了这个工具,但是,当然还有其他选择。
  • 看起来不错,但如果我阅读正确,它似乎不适用于特定标签。运行glide get github.com/Masterminds/cookoo基本上会从github获取最新的commit id?
  • 您必须指定glide.yaml 并用所需的标签/分支/哈希填充它。
  • 是否建议仍然提交供应商目录?我希望不会。
  • 提交供应商目录可以让其他开发人员更轻松地使用标准 Go 工具编译您的应用程序。此外,如果您的任何依赖项将来在旧 url 上不再可用,那么您的项目是安全的。最终由你决定。

标签: go godeps


【解决方案1】:

有一些工具可以帮助供应您的依赖项。他们中的大多数都能够处理GO15VENDOREXPERIMENT

例如:

【讨论】:

    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 2020-07-24
    相关资源
    最近更新 更多