包管理工具govendor

一、go找包逻辑

go buildgo run
vendorsrcvendorGOROOTGOPATH

二、vendor使用建议

mainpackagevendormainpackagevendor

三、govendor 简介

govendor 是一个基于 vendor 目录机制的包管理工具。

$GOPATHvendorvendor/vendor.jsonComposergovendor add/update$GOPATHvendor/*/govendor syncgovendor fetchgovendor migratevendorgovendorLinuxmacOSWindowsGitHgSVNBZR
goGoPATHsrcGoPATHGoPATHGoPATHgovendor
go get -u github.com/kardianos/govendor
govendor init # 创建vendor目录,创建vendor.json文件  
govendor add +external #生成依赖包(添加外部包,不包含项目代码)  
govendor update +vendor # 更新vendor的包命令

命令解析:

+local+external+vendor+std+unused+missing+program+outside+all
initlistaddadd PKG_PATHupdateremovestatusfetchsyncget

命令举例:

govendor add +local   #会将本地的项目包(代码)也添加到vendor目录下 

# 拉取最新包(指定版本,按版本拉,不指定按最新拉)
govendor fetch github.com/astaxie/beego@=v1.10.0

# 同步依赖包(如果某个包误删,verdor.json存在即可依其进行拉取)
govendor sync