使用vendor管理go第三方包
安装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 目录 |
posted on 2017-12-21 10:01 angry-baby 阅读(3411) 评论(0) 收藏 举报
浙公网安备 33010602011771号