解决的问题

将源码拷贝到当前工程的vendor目录下,这样打包当前的工程代码到任意机器的$GOPATH/src下都可以通过编译。

 

govendor

1、安装

2、命令:govendor init

创建vendor目录,目录中会存在vendor.json文件,如下图

go vendor管理Golang项目依赖

3、命令govendor add +external

生成依赖包

go vendor管理Golang项目依赖

4、更新vendor的包命令govendor update +vendor

 

  • 具体来看,这些包可能的类型如下:
状态 缩写状态 含义
+local l 本地包,即项目自身的包组织
+external e 外部包,即被 $GOPATH 管理,但不在 vendor 目录下
+vendor v 已被 govendor 管理,即在 vendor 目录下
+std s 标准库中的包
+unused u 未使用的包,即包在 vendor 目录下,但项目并没有用到
+missing m 代码引用了依赖包,但该包并没有找到
+program p 主程序包,意味着可以编译为执行文件
+outside   外部包和缺失的包
+all   所有的包
  • 通过指定包类型,可以过滤仅对指定包进行操作。
initlistaddadd PKG_PATHupdateremovestatusfetchsyncgetgo get