Go 语言使用 Go Modules(go.mod) 来管理依赖
前几日系统性差不多读完了一本讲解 Go 语言的书籍,记录下几篇笔记,现在终于能够开始看看专题性的知识了。首先就是关于 Go 如何管理依赖的问题,Java 经历了最早逐个下载 jar 包,到现在用 maven 来描述项目依赖,及进行项目的构建。而 Go 的起点还是要高一些,从一开始就有 go get
, go install
命令来从中心库下载依赖。但管理多版本依赖是个问题,也没有明确的方式来怎么描述一个项目的依赖。
因此也就产生过一些第三方的 Go 依赖管理
- Glide(使用 glide.yaml 文件描述依赖)
- Godep (长时间没维护的项目)
- govendor (不再维护了,在 Go modules 出来后也不被推荐使用)
- 还有其他的 GPM, gb, gom, gvt 等都相继退出了历史的舞台
也就是说 Go Modules 才是王道,在理解 Go Modules 之前也许有必要了解一下传统 GOPATH 管理依赖的方式,其他第三方的管理工具用不着去学习了,早已成了云烟。
Go 语言首次在 1.11 版本中引进了 Go Modules, 在这之前或者没有启用 GO111MODULE 的话,我们用 go get 或 go install 来下载依赖,编译器会从 GOPATH 和 vendor 文件夹中查找包。 阅读全文 >>
还没有评论,来说两句吧...