Go是否有像Java中的Maven这样的包装系统?

时间:2016-05-17 17:38:50

标签: go

Go语言是否有像Java中的Maven这样的打包系统? 我试图了解如何进行依赖关系管理,以及是否有办法轻松完成。

1 个答案:

答案 0 :(得分:6)

嗯,不,它没有。并且必须理解go get不是包管理器。

不过,还有几点需要学习:

  • This常见问题解答条目。

  • 从版本1.5开始,Go工具对" vendoring"提供了基本的支持。 - 即,将所需的依赖项与项目一起打包。

    支持仅以处理名为" vendor"的特殊目录的形式出现。以特殊方式处于项目的顶层。 该工具不提供任何类型的管理该目录的内容。 这方面的常用方法包括Git支持的子树合并和子模块(以及其他VC系统的等效设施)和外部工具(见下文)。

    默认情况下,在Go 1.6中启用了此支持。

  • 有许多第三方工具使用各种方法为Go实现打包,以执行此任务。

    @AlexBrand指出了seemingly complete list,但由于在那里尝试每个解决方案几乎没有理由,我会给出一个自以为是的暗示 - 基于我潜伏在转到邮件列表 - 查看这些工具:gbglidegovendorgodep

  • 另请考虑阅读Go邮件列表中的this thread及其链接的资源。