go依賴包管理工具vendor基礎

go依賴包管理工具vendor基礎

vendor是go的依賴包管理工具,主要用於管理項目中使用到的一些依賴。git

它將項目依賴的包,特指外部包,複製到當前工程下的vendor目錄下,這樣go build的時候,go會優先從vendor目錄尋找依賴包。github

將依賴的外部包引進工程下的vendor目錄,能夠直接在其餘機器直接編譯,而不用再去構建外部包的編譯環境,一個一個的go get獲取外部包。固然你也能夠直接拷貝整個GOPATH下的第三方包源碼過來,也是起到了vendor相同的做用。json

另外,防止了go get 從新拉取的外部包的版本可能和指望的不一致,從而致使編譯錯誤問題。ide

1. 安裝工具

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

2. 使用fetch

​ 使用vendor須要初始化,必須先進入項目目錄中,進行vendor目錄的初始化。ui

govendor init //執行命令初始化完成,此時項目目錄中便出現了vendor目錄,

3. 將當前go項目所依賴的包添加進vendor目錄進行管理code

govendor add +external
或者 govendor add +e //表示將當前項目所依賴的外部包添加進vendor目錄進行關聯。此時vendor目錄中包含了整個項目所依賴的包。

4. govendor的部分命令blog

命令 功能
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 目錄

具體來看,這些包可能的類型以下:rem

5. 查看govendor命令幫助

govendor --help //govendor的命令幫助,裏面能夠找到本身須要的命令而後進行操做
相關文章
相關標籤/搜索