go vendor管理Golang项目依赖
解决的问题将源码拷贝到当前工程的vendor目录下,这样打包当前的工程代码到任意机器的$GOPATH/src下都可以通过编译。
govendor
1、安装
go get -u -v github.com/kardianos/govendor
2、命令:govendor init
创建vendor目录,目录中会存在vendor.json文件,如下图
3、命令govendor add +external
生成依赖包
4、更新vendor的包命令govendor update +vendor
[*]具体来看,这些包可能的类型如下:
状态缩写状态含义+local
l
本地包,即项目自身的包组织
+external
e
外部包,即被 $GOPATH 管理,但不在 vendor 目录下
+vendor
v
已被 govendor 管理,即在 vendor 目录下
+std
s
标准库中的包
+unused
u
未使用的包,即包在 vendor 目录下,但项目并没有用到
+missing
m
代码引用了依赖包,但该包并没有找到
+program
p
主程序包,意味着可以编译为执行文件
+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 目录
页:
[1]