govendor是Golang的依賴包管理工具,它的出現(xiàn)可以避免不同用戶在clone同一個項目后從外部獲取不同依賴庫版本的問題戈鲁。govendor會將項目需要的依賴包添加到項目的vendor目錄下浑测,并且該目錄中vendor.json文件會保存添加的依賴包的路徑等信息夺鲜。
Golang項目中的go文件在查找依賴的順序是憋槐,先在vendor中查找,vendor沒找到然后在GOPATH中查找止状,都沒找到最后在GOROOT中查找烹棉。
GitHub地址:https://github.com/kardianos/govendor
一、安裝
go get -u github.com/kardianos/govendor
二怯疤、初始化
進(jìn)入你的項目目錄下
govendor init
會出現(xiàn)一個vendor文件夾,里面的vendor.json 文件用來記錄依賴包的信息
三浆洗、常用API
(1)govendor add +external
將GOPATH中本工程使用到的依賴包自動移動到vendor目錄中,必須vendor目錄下沒有集峦,且vendor.json中沒有記錄這個包的時候才會添加伏社。其中一個存在則命令無效亦不報錯抠刺。
關(guān)于+后面的參數(shù),就不一一列舉了
(2)govendor —help
幫助
(3)govendor fetch [包鏈接]
(如: github.com/BurntSushi/toml)
從遠(yuǎn)程拉取包到vendor下并記錄進(jìn)vendor.json摘昌,gopath目錄下不會有
拉下來的包
(4)govendor sync
根據(jù)已有的vendor.json里面的依賴包信息速妖。從遠(yuǎn)程拉取包到vendor目錄下。
(5)govendor remove +local
移除包的時候會把vendor目錄和json文件的記錄一起移除聪黎,只有vendor
或者只有json中有仍然會移除而不提示
其他可以參照上面照片
(6)govendor remove [包鏈接]
(如: github.com/BurntSushi/toml)
移除指定包
(7)govendor remove +vendor
移除vendor下所有的包