Golang包管理工具之govendor的使用

1. govendor簡介

golang工程的依賴包常用go get命令來獲取,例如:go get github.com/kardianos/govendor ,會將依賴包下載到GOPATH的路徑下。git

經常使用的依賴包管理工具備godepgovendor等,在Golang1.5以後,Go提供了 GO15VENDOREXPERIMENT 環境變量(Go 1.6版本默認開啓該環境變量),用於將go build時的應用路徑搜索調整成爲 當前項目目錄/vendor 目錄方式。經過這種形式,咱們能夠實現相似於 godep 方式的項目依賴管理。github

2. 安裝與使用

2.1. 安裝

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

2.2. 使用

#進入到項目目錄
cd /home/gopath/src/mytool

#初始化vendor目錄
govendor init

#查看vendor目錄
[root@CC54425A mytool]# ls
commands  main.go  vendor  mytool_test.sh

#將GOPATH中本工程使用到的依賴包自動移動到vendor目錄中
#說明:若是本地GOPATH沒有依賴包,先go get相應的依賴包
govendor add +external
或使用縮寫: govendor add +e 

#Go 1.6以上版本默認開啓 GO15VENDOREXPERIMENT 環境變量,可忽略該步驟。
#經過設置環境變量 GO15VENDOREXPERIMENT=1 使用vendor文件夾構建文件。
#能夠選擇 export GO15VENDOREXPERIMENT=1 或 GO15VENDOREXPERIMENT=1 go build 執行編譯
export GO15VENDOREXPERIMENT=1

2.3. 說明

govendor只是用來管理項目的依賴包,若是GOPATH中自己沒有項目的依賴包,則須要經過go get先下載到GOPATH中,再經過govendor add +external拷貝到vendor目錄中。Go 1.6以上版本默認開啓GO15VENDOREXPERIMENT環境變量。golang

2.3. 經常使用命令

常見的命令以下,格式爲 govendor COMMANDjson

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

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

相關文章
相關標籤/搜索