Go 包依赖管理工具 —— govendor
govendor 是一个基于vendor机制实现的 Go 包依赖管理命令行工具。与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本、以及无相互侵入的开发和管理。
govendor 是一个基于 vendor 目录机制的包管理工具。
- 支持从项目源码中分析出依赖的包,并从
$GOPATH 复制到项目的 vendor 目录下
- 支持包的指定版本,并用
vendor/vendor.json 进行包和版本管理,这点与 PHP 的 Composer 类似
- 支持用
govendor add/update 命令从 $GOPATH 中复制依赖包
- 如果忽略了
vendor/*/ 文件,可用 govendor sync 恢复依赖包
- 可直接用
govendor fetch 添加或更新依赖包
- 可用
govendor migrate 从其他 vendor 包管理工具中一键迁移到 govendor
- 支持 Linux,macOS,Windows,甚至现有所有操作系统
- 支持 Git、Hg、SVN,BZR(必须指定一个路径)
Go modules 来一统多年来 Go 包依赖管理混乱的局面(Go 官方之前推出的 dep 工具也几乎胎死腹中),并且将在 1.12 版本中正式默认开启。
$GOPATH 复制到项目的 vendor 目录下vendor/vendor.json 进行包和版本管理,这点与 PHP 的 Composer 类似govendor add/update 命令从 $GOPATH 中复制依赖包vendor/*/ 文件,可用 govendor sync 恢复依赖包govendor fetch 添加或更新依赖包govendor migrate 从其他 vendor 包管理工具中一键迁移到 govendor目前已受到社区的看好和强烈推荐,建议新项目采用 Go modules。