go vendor管理Golang項目依賴


解決的問題

將源碼拷貝到當前工程的vendor目錄下,這樣打包當前的工程代碼到任意機器的$GOPATH/src下都可以通過編譯。

 

govendor

1、安裝

 go get -u -v github.com/kardianos/govendor

2、命令:govendor init

創建vendor目錄,目錄中會存在vendor.json文件,如下圖

3、命令govendor add +external

生成依賴包

4、更新vendor的包命令govendor update +vendor

 

  • 具體來看,這些包可能的類型如下:
狀態 縮寫狀態 含義
+local l 本地包,即項目自身的包組織
+external e 外部包,即被 $GOPATH 管理,但不在 vendor 目錄下
+vendor v 已被 govendor 管理,即在 vendor 目錄下
+std s 標准庫中的包
+unused u 未使用的包,即包在 vendor 目錄下,但項目並沒有用到
+missing m 代碼引用了依賴包,但該包並沒有找到
+program p 主程序包,意味着可以編譯為執行文件
+outside   外部包和缺失的包
+all   所有的包
  • 通過指定包類型,可以過濾僅對指定包進行操作。
命令 功能
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 目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM