注意:使用govendor的前提是:Go 1.5开始支持govendor,如果使用1.5版本的话要设置set GO15VENDOREXPERIMENT=1
,如果1.5以上版本就不需要这个设置。
golang对外部依赖包没有一个很好的方式,所有的依赖包都放置在GOPATH下,如果多个项目依赖同一个包但是不同版本的话,就会有引用问题,这种情况就会很麻烦,像在Java项目中,某个项目所有依赖的jar包都放在项目内部,不同项目各自使用自己的jar包,不会有多个项目引用一个包的情况,也就不会发生冲突。govendor就是在Golang项目中解决这个问题的。
项目地址:
kardianos/govendor·GitHub
1.安装:
go get -u github.com/kardianos/govendor
下载完成后,执行govendor
查看:
2. 使用方法:
进入项目根目录,执行govendor init
,会在跟目录下生成一个vendor文件夹。该文件夹用来存放govendor管理的第三方包,其中vendor.json用来记录依赖的版本等信息。
如果该项目已经引用了GOPATH里的第三方包,可以执行govendor add +external
,该命令可以将该项目依赖的包从GOPATH移动到govendor目录下。
如果项目需要新引入一个第三方包,可以直接执行govendor get ***package
,该命令可以直接将第三方包下载至govendor目录内。
如果需要删除一个govendor中依赖,可以执行govendor remove ***package
。
更详细的内容可以查看官方文档。