go依赖包管理工具vendor基础

vendor是go的依赖包管理工具,主要用于管理项目中使用到的一些依赖。

它将项目依赖的包,特指外部包,复制到当前工程下的vendor目录下,这样go build的时候,go会优先从vendor目录寻找依赖包。

将依赖的外部包引进工程下的vendor目录,可以直接在其他机器直接编译,而不用再去构建外部包的编译环境,一个一个的go get获取外部包。当然你也可以直接拷贝整个GOPATH下的第三方包源码过来,也是起到了vendor相同的作用。

另外,防止了go get 重新拉取的外部包的版本可能和期望的不一致,从而导致编译错误问题。

1. 安装

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

2. 使用

​ 使用vendor需要初始化,必须先进入项目目录中,进行vendor目录的初始化。

govendor init //执行命令初始化完成,此时项目目录中便出现了vendor目录,

3. 将当前go项目所依赖的包添加进vendor目录进行管理

govendor add +external
或者 govendor add +e //表示将当前项目所依赖的外部包添加进vendor目录进行关联。此时vendor目录中包含了整个项目所依赖的包。

4. govendor的部分命令

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

具体来看,这些包可能的类型如下:

5. 查看govendor命令帮助

govendor --help //govendor的命令帮助,里面可以找到自己需要的命令然后进行操作

最新文章

  1. uva 12034
  2. .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>
  3. c# 结构体、枚举类型及函数调用
  4. XidianOJ 1172 Hiking
  5. Oracle数据库入门——物化视图日志结构
  6. HTTPS连接的前几毫秒发生了什么——Amazon HTTPS案例分析
  7. python中的list的方法
  8. iOS - Swift Set 集合
  9. Android之开源项目view篇
  10. android 使用系统照相程序照相并存储、显示在界面上
  11. 手动升级Delphi控件时,修改inc文件的办法
  12. 安卓高级9 shareSDK 第三方登陆和分享Mob
  13. 使用ArcGIS Earth矢量化高精度的数据(kml转图层转shp/要素类)
  14. Community宣言
  15. python API whoami
  16. flex 布局压缩问题
  17. 启动rabbitmq,提示ERROR: node with name "rabbit" already running on "localhost"
  18. Java自学路线
  19. json格式详解
  20. java.io.IOException: Unable to establish loopback connection

热门文章

  1. 分布式-信息方式-ActiveMQ的Destination高级特性1
  2. hibernate 一对多单向注解配置(实现级联操作 )
  3. maven 配置国内镜像仓库加速获取jar包的配置方法
  4. 2018092609-2 选题 Scrum立会报告+燃尽图 03
  5. 一、MongoDB为用户设置访问权限
  6. 认识一下java神器Btrace
  7. linux挂载本地镜像
  8. JNI崩溃调试
  9. Learn The Architecture Memory Management 译文
  10. 通过BDC批量修改物料文档信息 MM02