1、安装govendor

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

2、init

在项目根目录,比如我这里是tap项目,那就是进入tap目录,执行init命令

govendor init
ls
cd vendor/
ls


这个 vendor.json 会类似 godep 工具中的描述文件版本的功能。

3、执行命令将当前应用必须的文件包含进来

//将外部依赖一同加入vendor中
govendor add +external
// 更新外部所有依赖
govendor update +external

4、vendor.json

vendor.json内容如下:

{"comment": "","ignore": "test","package": [{"checksumSHA1": "Ufix4JjY69s87o5ftKQ39OcxvTU=","path": "github.com/Shopify/sarama","revision": "2fd980e23bdcbb8edeb78fc704de0c39a6567ffc","revisionTime": "2017-06-30T17:40:37Z"},{"checksumSHA1": "sUP5RbqwDFzHiW538NBTJ3c57aw=","path": "github.com/bsm/sarama-cluster","revision": "f1ef2fda9bccc377dad24d7f7522d46b6a9a817b","revisionTime": "2017-07-31T13:08:41Z"},{"checksumSHA1": "GcIrB1ug6mS8aG73v1KtlHfva9Q=","path": "github.com/davecgh/go-spew/spew","revision": "adab96458c51a58dc1783b3335dcce5461522e75","revisionTime": "2017-07-11T18:34:51Z"},{"checksumSHA1": "o0psFRtB8EoelTAEhJSqrtXdwJY=","path": "github.com/eapache/go-resiliency/breaker","revision": "b1fe83b5b03f624450823b751b662259ffc6af70","revisionTime": "2017-06-07T16:36:15Z"},{"checksumSHA1": "jZ/Z0i7G8a+9GQ7uOzUbLI/FubU=","path": "github.com/eapache/go-xerial-snappy","revision": "bb955e01b9346ac19dc29eb16586c90ded99a98c","revisionTime": "2016-06-09T14:24:08Z"},{"checksumSHA1": "Jv+5MP/HXSnx830En3Iwmj9v7g0=","path": "github.com/eapache/queue","revision": "44cc805cf13205b55f69e14bcb69867d1ae92f98","revisionTime": "2016-08-05T00:47:13Z"},{"checksumSHA1": "OV+/R43DDDJ/Gxrx9oQob/K7sL0=","path": "github.com/golang/snappy","revision": "553a641470496b2327abcac10b36396bd98e45c9","revisionTime": "2017-02-15T23:32:05Z"},{"checksumSHA1": "imr1t7r6P5Bz7DGR2sxDymLWo7w=","path": "github.com/pierrec/lz4","revision": "5a3d2245f97fc249850e7802e3c01fad02a1c316","revisionTime": "2017-05-19T17:06:25Z"},{"checksumSHA1": "ieRRw3MpbPjA3z2MJVHDsC9jkjc=","path": "github.com/pierrec/xxHash/xxHash32","revision": "a0006b13c722f7f12368c00a3d3c2ae8a999a0c6","revisionTime": "2017-07-14T08:24:55Z"},{"checksumSHA1": "DIjooF5+DLH5JSOjqnBlfNh9dFU=","path": "github.com/rcrowley/go-metrics","revision": "1f30fe9094a513ce4c700b9a54458bbb0c96996c","revisionTime": "2016-11-28T21:05:44Z"},{"checksumSHA1": "fAm2yk7tTesaQ5ivVUPjTpKlxdo=","path": "github.com/sirupsen/logrus","revision": "95cd2b9c79aa5e72ab0bc69b7ccc2be15bf850f6","revisionTime": "2017-11-18T12:42:23Z"},{"checksumSHA1": "X1NTlfcau2XcV6WtAHF6b/DECOA=","path": "golang.org/x/crypto/ssh/terminal","revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122","revisionTime": "2017-11-28T01:43:40Z"},{"checksumSHA1": "B2t4JjkjyoUINOnKXviNypvgWpo=","path": "golang.org/x/sys/unix","revision": "bf42f188b9bc6f2cf5b8ee5a912ef1aedd0eba4c","revisionTime": "2017-11-10T14:41:19Z"},{"checksumSHA1": "ck5uxoEeMDUL/QqPvGvBmcbsJzg=","path": "golang.org/x/sys/windows","revision": "bf42f188b9bc6f2cf5b8ee5a912ef1aedd0eba4c","revisionTime": "2017-11-10T14:41:19Z"}],"rootPath": "git.XXX.net/monitor/tap"
}

5、govendor --help

$ govendor --help
govendor (v1.0.9): record dependencies and copy into vendor folder-govendor-licenses    Show govendor's licenses.-version              Show govendor version-cpuprofile 'file'    Writes a CPU profile to 'file' for debugging.-memprofile 'file'    Writes a heap profile to 'file' for debugging.Sub-Commandsinit     Create the "vendor" folder and the "vendor.json" file.list     List and filter existing dependencies and packages.add      Add packages from $GOPATH.update   Update packages from $GOPATH.remove   Remove packages from the vendor folder.status   Lists any packages missing, out-of-date, or modified locally.fetch    Add new or update vendor folder packages from remote repository.sync     Pull packages into vendor folder from remote repository with revisionsfrom vendor.json file.migrate  Move packages from a legacy tool to the vendor folder with metadata.get      Like "go get" but copies dependencies into a "vendor" folder.license  List discovered licenses for the given status or import paths.shell    Run a "shell" to make multiple sub-commands more efficient for largeprojects.go tool commands that are wrapped:"+status" package selection may be used with themfmt, build, install, clean, test, vet, generate, toolStatus Types+local    (l) packages in your project+external (e) referenced packages in GOPATH but not in current project+vendor   (v) packages in the vendor folder+std      (s) packages in the standard library+excluded (x) external packages explicitly excluded from vendoring+unused   (u) packages in the vendor folder, but unused+missing  (m) referenced packages but not found+program  (p) package is a main package+outside  +external +missing+all      +all packagesStatus can be referenced by their initial letters.Package specifier<path>[::<origin>][{/...|/^}][@[<version-spec>]]Ignoring files with build tags, or excluding packages from being vendored:The "vendor.json" file contains a string field named "ignore".It may contain a space separated list of build tags to ignore whenlisting and copying files.This list may also contain package prefixes (containing a "/", possiblyas last character) to exclude when copying files in the vendor folder.If "foo/" appears in this field, then package "foo" and all its sub-packages("foo/bar", …) will be excluded (but package "bar/foo" will not).By default the init command adds the "test" tag to the ignore list.If using go1.5, ensure GO15VENDOREXPERIMENT=1 is set.

OK,结束,可以用git将vendor提交到代码库了。

本文参考:https://www.tuicool.com/articles/NjMzIbJ

使用godep管理Golang项目依赖

个人微信公众号:

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

使用govendor管理Golang项目依赖相关推荐

  1. golang 依赖管理_简介:如何管理Golang项目依赖项

    golang 依赖管理 by Ying Kit Yuen 英杰苑 简介:如何管理Golang项目依赖项 (An intro to dep: How to manage your Golang proj ...

  2. 使用maven管理Java项目依赖

    概念 Maven是java的一个依赖管理工具.所谓依赖就是指在Java开发过程中引入的各种jar包和第三方库,而可能这些库本省还要引用其他的库,这样我们直接引用的称为直接依赖,库的依赖称为间接依赖.如 ...

  3. java maven 项目依赖管理 简介

    目录 一.简单的小问题? 二.maven到底是什么? 三.maven的安装 四.仓库的概念 五.使用命令行管理maven项目 六.使用Myeclipse创建maven自定义项目 七.pom.xml的依 ...

  4. Composer - PHP 世界里用于管理项目依赖的工具

    Composer - PHP 世界里用于管理项目依赖的工具 Composer v1.8 版本正式发布.Composer是 PHP 世界里用于管理项目依赖的工具. 如果你已经安装了 Composer , ...

  5. Maven项目依赖管理 学习笔记

    本学习笔记根据慕课视频[Maven项目依赖管理]摘录,主要学习maven的使用方式,从理念到实践.基础到应用,掌握基于maven管理java项目的方式. 目录 第一章 Maven概述 Maven简介 ...

  6. Mac npm6.10.3包管理器下载依赖并运行项目的步骤

    Mac npm包管理器下载依赖并运行项目的步骤 1.使用npm config get registry查看npm的仓库地址 2.使用npm config set registry https://re ...

  7. Gradle项目依赖管理

    作者:黄少存,叩丁狼高级讲师.本文为原创文章,转载请注明出处.  上一篇咱们讲解了 Gradle 构建项目的生命周期,这一篇咱们来看下 Gradle 的另一个重要的知识点,就是依赖管理,那为什么需要依 ...

  8. 安装项目依赖包---基于Ant-Design-Pro-2-0-的CMS管理后台入门系列

    安装项目依赖包 根据自身习惯的方式,自行选择使用 npm 或 yarn 进行安装依赖包. 注意:如果选择 npm 安装,后面的命令都是用 npm 命令,包括 npm start / npm build ...

  9. Maven项目依赖管理工具

    学习教程: https://www.yiibai.com/maven/ Maven不仅可以管理jar包,还可以管理我们项目中对其他子模块的引用: mvn claen 在"target&quo ...

最新文章

  1. 【Binder 机制】AIDL 分析 ( AIDL 通信完整流程梳理 )
  2. oracle 查看索引类别以及查看索引字段被引用的字段方法
  3. java、前端、php、asp.net开发资源分享(视频教程,源码,项目)
  4. 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
  5. H.264编解码流程
  6. swiper监听滚动条_swiper Scrollbar滚动条组件详解
  7. 轻量应用服务器安装mysql_阿里云轻量应用服务器Linux-Centos7下MySQL8.0.19的安装
  8. (转)图文详解手把手教你在Windows环境下下载Android源码(Launcher为例)
  9. Suse Enterprise Server 11的安装
  10. 土壤因子-中国和世界土壤因子数据说明和下载链接
  11. 3dmax中如何导出多个动画
  12. javalinux服务器上写文件,java 读取linux服务器上文件
  13. w3c标准语言,W3C标准 - W3C中国
  14. 阿里巴巴服务器泡进“水里”液冷服务器技术
  15. DEDE源码分析与学习之三: member/archives_*.php文件解读
  16. 关系数据库规范化理论
  17. 面试,你准备好了吗(上集)
  18. 素描想要画出有质感的头发?方法找对了画技提升了~
  19. iOS开发-极光推送SDK使用笔记
  20. 齐振宏教授 变革领导力导师

热门文章

  1. php冒泡排序代码快速,php冒泡排序 代码
  2. bluebird promise化之循环方法
  3. 00911无效字符oracle,ORA-00911: 无效字符 解决
  4. 安卓手机浏览器怎么选择?多御浏览器有什么功能
  5. java oracle集群12505_请教一个oracle 10g rac TNS-ORA12505 错误
  6. 百度前端必会手写面试题整理
  7. win10系统应用打不开
  8. 第二话、转行自学到入行程序员圈子
  9. python排序每200个一组不同身份证
  10. 前端web3入门脚本三:一键完成与dex的交互,羊毛党必备