Go包管理工具Vendor使用
2018-06-16 23:39
260 查看
一、Go包管理工具Vendor
一、使用步骤
1、首先,从go get -u github.com/kardianos/govendor
下载govendor
工具到本地。
2、govendor使用时,必须保证你的工程项目放在GOPATH/src
目录下。
3、在Go命令行执行govendor init
,自动生成vendor
文件夹(存放你项目需要的依赖包)和vendor.json
文件(有关依赖包的描述文件)。
4、这时你查看vendor.json
文件时,可能还没有什么内容。此时你需要将GOPATH文件夹中的包添加到vendor目录下,只需执行命令govendor add +external
或者govendor add +e
。
5、此时看到的vendor.json
文件就比之前多了许多,例如:
{ "comment": "", "ignore": "test", "package": [ { "checksumSHA1": "T6YlZ5PORNIwutJP7Vfe29XKQno=", "path": "github.com/astaxie/beego", "revision": "d96289a81bf67728cff7a19b067aaecc65a62ec6", "revisionTime": "2017-07-18T16:56:48Z" }, { "checksumSHA1": "vvdzuefaGsQVMbcON/s0oqjrRkU=", "path": "github.com/astaxie/beego/cache", "revision": "d96289a81bf67728cff7a19b067aaecc65a62ec6", "revisionTime": "2017-07-18T16:56:48Z" }, { "checksumSHA1": "OFioicOCBXIM8IJ5W9SE0EOWmSA=", "path": "github.com/astaxie/beego/session/redis", "revision": "d96289a81bf67728cff7a19b067aaecc65a62ec6", "revisionTime": "2017-07-18T16:56:48Z" }, { "checksumSHA1": "B6+D5EMUhOmo6I5wIVoTwNfcsV8=", "path": "github.com/astaxie/beego/toolbox", "revision": "d96289a81bf67728cff7a19b067aaecc65a62ec6", "revisionTime": "2017-07-18T16:56:48Z" }, { "checksumSHA1": "wyz5HgdoDurteHhp63m+CwKx7zg=", "path": "github.com/astaxie/beego/utils", "revision": "d96289a81bf67728cff7a19b067aaecc65a62ec6", "revisionTime": "2017-07-18T16:56:48Z" } ], "rootPath": "benben-project" }
二、其他常用命令
1、govendor list
可以快速查看你项目中的外部依赖包。例如:
v github.com/astaxie/beego v github.com/astaxie/beego/cache v github.com/astaxie/beego/cache/redis v github.com/astaxie/beego/config v github.com/astaxie/beego/context v github.com/astaxie/beego/context/param v github.com/astaxie/beego/grace l benben-project/router l benben-project/config l benben-project/controllers l benben-project/log l benben-project/models
其中最左边的是描述包的状态,右边是你工程的依赖包
2、govendor add
添加依赖包到vendor目录下,在使用 govendor add命令时,后面需要跟上下面介绍的一些状态,也可以直接跟上缺失包的地址,如下文常见错误中的做法。
3、govendor update
从你的GOPAHT中更新你工程的依赖包
4、govendor remove
从你工程下的vendor文件中移除对应的包
5、govendor fetch
添加或者更新vendor文件夹中的包
三、govendor使用状态来指定包
+local (l) 表示工程中的包 +external (e) 从GOPATH中引用的包,但不包含在你的当前工程中 +vendor (v) vendor文件夹中的包 +std (s) Go标准库中的包 +excluded (x) 从vendor文件中排除的外部依赖包 +unused (u) vendor文件中存在但却未使用的包 +missing (m) 项目引用但却为发现的包 +program (p) main包中包
其中有一些状态存在简写,例如:
+std可以用
+s表示,
+external可以用
+ext或者
+e表示,
+external可以用
+exc或者
+x表示。
在使用时,你也可以对这些状态进行逻辑组合,例如:
+local,grogram表示既满足+local又满足+program。 +local +vendor表示只要满足两者之一。 +vendor,program +std表示vendor和program是与的关系,整体和std是或的关系 +vendor,^program表示满足vendor,但却不满足program。
四、常见错误
1、服务器提示某个依赖包没有找到
原因可能是vendor文件中没有该包或者
vendor.json文件中没有该包的描述信息。
假设
"github.com/astaxie/beego/logs"包的信息在
vendor.json文件中没有找到,则在go命令行中执行
govendor add github.com/astaxie/beego/logs。
相关文章推荐
- GO语言依赖管理工具govendor的使用
- go包管理工具-glide使用方法及踩坑记录
- Go语言包管理工具dep的安装与使用
- Golang Vendor 包管理工具 glide 使用教程
- 文件系统管理 之 Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
- 使用AR工具管理库文件需要注意的问题
- HOWTO:使用Osql工具管理SQLServer桌面引擎(MSDE2000
- 在使用ASP.NET网站管理工具出现“遇到错误。请返回上一页并重试。”的解决办法!
- HOWTO:使用Osql工具管理SQLServer桌面引擎(MSDE2000)
- 组使用源代码管理工具
- Linux启动管理工具Grub使用专题
- hg版本管理工具使用
- BossPrefs多功能无线管理工具使用教程
- Linux 下 Subversion 版本管理工具 配置和使用
- 使用VMware虚拟磁盘管理工具调整磁盘大小
- = = 开始使用一些知识管理工具对自己的知识进行重新组织...
- 版本管理工具Subversion的使用
- 使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)
- "ASP.NET 管理实用工具"使用方法
- Asp.Net 网站管理工具-使用自定义的配置源