安装verdor
go get -u -v https://github.com/kardianos/govendor
记得将$GOPATH/bin加入PATH
verdor使用
goverdor init #先进入项目根目录再执行,初始化后生成verdor目录
govendor add +external #添加所有外部包 如果没有go get需要先go get
添加包
govendor add git.oschina.net/axengine/utils/logs
更新包
govendor update git.oschina.net/axengine/utils/logs
移除包
govendor remove git.oschina.net/axengine/utils/logs
go 1.6版本以上则可以直接不编译,不用设置GO15VENDOREXPERIMENT=1,go会自动先找项目目录下verdor目录里的外部包。
包类别
状态 | 缩写状态 | 含义 |
---|---|---|
+local | l | 本地包,即项目自身的包组织 |
+external | e | 外部包,即被 $GOPATH 管理,但不在 vendor 目录下 |
+vendor | v | 已被 govendor 管理,即在 vendor 目录下 |
+std | s | 标准库中的包 |
+unused | u | 未使用的包,即包在 vendor 目录下,但项目并没有用到 |
+missing | m | 代码引用了依赖包,但该包并没有找到 |
+program | p | 主程序包,意味着可以编译为执行文件 |
+outside | 外部包和缺失的包 | |
+all | 所有的包 |
verdor命令
命令 | 功能 |
---|---|
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 目录 |