govendor是類似于npm
的一個(gè)包管理工具
該工具將項(xiàng)目依賴的外部包拷貝到項(xiàng)目下的 vendor
目錄下粘招,并通過 vendor.json
文件來(lái)記錄依賴包的版本啥寇,方便用戶使用相對(duì)穩(wěn)定的依賴。
基本說明
狀態(tài) | 縮寫狀態(tài) | 含義 |
---|---|---|
+local | l | 本地包洒扎,即項(xiàng)目自身的包組織 |
+external | e | 外部包辑甜,即被 $GOPATH 管理,但不在 vendor 目錄下 |
+vendor | v | 已被 govendor 管理袍冷,即在 vendor 目錄下 |
+std | s | 標(biāo)準(zhǔn)庫(kù)中的包 |
+unused | u | 未使用的包磷醋,即包在 vendor 目錄下,但項(xiàng)目并沒有用到 |
+missing | m | 代碼引用了依賴包胡诗,但該包并沒有找到 |
+program | p | 主程序包邓线,意味著可以編譯為執(zhí)行文件 |
+outside | 外部包和缺失的包 | |
+all | 所有的包 |
指令
指令 | 含義 |
---|---|
init | 創(chuàng)建 vendor 文件夾和 vendor.json 文件 |
list | 列出已經(jīng)存在的依賴包 |
add | 從 $GOPATH 中添加依賴包淌友,會(huì)加到 vendor.json |
update | 從 $GOPATH 升級(jí)依賴包 |
remove | 從 vendor 文件夾刪除依賴 |
status | 列出本地丟失的、過期的和修改的package
|
fetch | 從遠(yuǎn)端庫(kù)添加或者更新 vendor 文件中的依賴包 |
sync | 本地存在vendor.json 時(shí)候拉取依賴包骇陈,匹配所記錄的版本 |
get | 等同于go get
|
常用指令說明
安裝govendor
go get -u github.com/kardianos/govendor
從$GOPATH
中添加所有依賴包
govendor add +external
查看使用的包列表
govendor list -v fmt
從線上遠(yuǎn)端庫(kù)添加或更新最新的依賴包
govendor fetch golang.org/x/net/context
從線上遠(yuǎn)端庫(kù)添加或更新標(biāo)簽或分支等于v1
的依賴包
govendor fetch golang.org/x/net/context@=v1