go依賴管理--govendor

govendor是類似于npm的一個(gè)包管理工具
該工具將項(xiàng)目依賴的外部包拷貝到項(xiàng)目下的 vendor 目錄下,并通過(guò) vendor.json 文件來(lái)記錄依賴包的版本,方便用戶使用相對(duì)穩(wěn)定的依賴。

基本說(shuō)明

狀態(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)目并沒(méi)有用到
+missing m 代碼引用了依賴包,但該包并沒(méi)有找到
+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 列出本地丟失的、過(guò)期的和修改的package
fetch 從遠(yuǎn)端庫(kù)添加或者更新 vendor 文件中的依賴包
sync 本地存在vendor.json 時(shí)候拉取依賴包,匹配所記錄的版本
get 等同于go get

常用指令說(shuō)明

安裝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  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • [TOC] 介紹 godep是解決包依賴的管理工具,目前最主流的一種,原理是掃描記錄版本控制的信息,并在go命令前...
    木貓尾巴閱讀 17,731評(píng)論 0 7
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評(píng)論 19 139
  • 包管理的重要性不言而喻。隨著項(xiàng)目的推進(jìn),沒(méi)有合適的包管理,每一次迭代都將成為開(kāi)發(fā)者的噩夢(mèng)。尤其是對(duì)于進(jìn)行持續(xù)集成的...
    suoga閱讀 4,505評(píng)論 4 10
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,971評(píng)論 6 342
  • 原文地址:http://www.gaoxuan1989.com/2017/07/10/golang-vendor-...
    tcgx閱讀 62,167評(píng)論 5 12