安裝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 目錄 |
