基本使用

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 页面 中查看。