go依赖包管理工具vendor基础
vendor是go的依赖包管理工具,主要用于管理项目中使用到的一些依赖。
它将项目依赖的包,特指外部包,复制到当前工程下的vendor目录下,这样go build的时候,go会优先从vendor目录寻找依赖包。
将依赖的外部包引进工程下的vendor目录,可以直接在其他机器直接编译,而不用再去构建外部包的编译环境,一个一个的go get获取外部包。当然你也可以直接拷贝整个GOPATH下的第三方包源码过来,也是起到了vendor相同的作用。
另外,防止了go get 重新拉取的外部包的版本可能和期望的不一致,从而导致编译错误问题。
1. 安装
go get -u -v github.com/kardianos/govendor
2. 使用
使用vendor需要初始化,必须先进入项目目录中,进行vendor目录的初始化。
govendor init //执行命令初始化完成,此时项目目录中便出现了vendor目录,
3. 将当前go项目所依赖的包添加进vendor目录进行管理
govendor add +external
或者 govendor add +e //表示将当前项目所依赖的外部包添加进vendor目录进行关联。此时vendor目录中包含了整个项目所依赖的包。
4. govendor的部分命令
命令 | 功能 |
---|---|
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 目录 |
具体来看,这些包可能的类型如下:
5. 查看govendor命令帮助
govendor --help //govendor的命令帮助,里面可以找到自己需要的命令然后进行操作