基本使用
Govendor 是一个 go 依赖管理的工具。使用流程
# 进入项目目录并初始化vendor目录 cd /home/gopath/src/mytool govendor init # 将本项目中用到的依赖包copy到vendor目录下 govendor add +external # 可简写为 govendor add +e
包类型
该工具将项目依赖的外部包放到项目下的 vendor 目录下(对比 nodejs 的 node_modules 目录), 并通过 vendor.json 文件来记录依赖包的版本,方便用户使用相对稳定的依赖。
对于 govendor 来说,主要存在三种位置的包:
- local包 项目自身的包
- external包 传统的存放在 $GOPATH 下的依赖包
- vendor包 被 govendor 管理的放在 vendor 目录下的依赖包
其他包可能的类型如下
s std 标准库中的包 u unused 未使用的包,即包在 vendor 目录下,但项目并没有用到 m missing 代码引用了依赖包,但该包并没有找到 p program 主程序包,意味着可以编译为执行文件 outside 外部包和缺失的包 all 所有的包
常用命令
常用命令如下
init 初始化 vendor 目录 list 列出所有的依赖包 add 添加包到 vendor 目录,如 govendor add +external 添加所有外部包 add PKG_PATH 添加指定的依赖包到 vendor 目录 update 从 $GOPATH 更新依赖包到 vendor 目录 remove 从 vendor 管理中删除依赖 status 列出所有缺失、过期和修改过的包 fetch 添加或更新包到本地 vendor 目录 sync 本地存在 vendor.json 时候拉去依赖包,匹配所记录的版本 get 类似 go get 目录,拉取依赖包到 vendor 目录
其他常用命令可以在 govenor项目 github 页面 中查看。