在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
dep是一个golang依赖管理工具,需要在Go 1.7及更高的版本中使用。 1. 安装安装dep工具的方式有很多种,如果是mac电脑的话,只需要如下命令:
对于Linux和类Unix系统而言,我们还可以使用如下方式安装dep:
或者直接使用源码安装。 而对于windows电脑,可以使用命令行:
会自动下载到go_path/bin/目录下,你需要将go_path/bin 加入到环境变量中。 如果这种方式下载不下来,你也可以手动下载:点击这里,挑选适合你的版本,然后修改文件名为dep.exe放入go_path/bin/目录下。 2. 使用安装完毕再命令行下敲入dep命令:
如上: init命令用来初始化项目; status命令用来查看当前项目的依赖状态; ensure命令用来同步依赖包 3. 初始化切换到你的工程目录下:
假设项目现在是空的,什么也没有,进行初始化:
注意:因为墙的原因,,,不一定我们能成功的拉下来依赖,使用dep init 尽量带上-v:
如果半分钟没响应就ctrl+c中断,就可以看到fail的原因,dep遇到一些错误不会立马报错(特别是网络原因) 。 执行成功之后会生成两个文件 Gopkg.lock、Gopkg.toml和一个文件夹vendor Gopkg.toml文件记录着current project依赖项project的约束。 Gopkg.toml参数解释: [[constraint]]: 这个约束主要体现在到底要采用目标project的某个tag的版本(version),还是某个branch,或者是某个revision,这三个对于一个constraint只能选一个。 [[override]]:有时项目依赖比较复杂,经常会遇到依赖冲突导致 dep ensure 命令无法执行成功,这个时候使用 override 消除单个依赖关系上多个不可调和的constraint声明之间的分歧 [[required]]:列出了必须包含在Gopkg.lock中的一组包 [[ignored]]:列出dep静态分析源代码时忽略的一组包 [[prune]]:prune为依赖关系定义全局和每个项目的prune选项。 这些选项决定写入vendor/时丢弃哪些文件
Gopkg.lock文件是工具生成的,你不用手工编辑 vendor文件里面存放current project的远程依赖的源代码 当需要指定目标project使用哪一个version时,可以在Gopkg.toml中添加。如,需要指定alice版本为0.8.4,在Gopkg.toml中添加:
然后执行
在指定version的时候,如果指定semantic version,可选的符号有
不指定符号的话,默认为^符号。 有了包管理工具之后,好处还是挺多:
4. 添加依赖依赖管理帮助
添加一条依赖
一次性添加多条依赖
添加依赖指定依赖版本
添加后记住执行dep ensure确保同步
如果执行dep ensure出错,看下Gopkg.toml文件中是否同时配置了version,branch和revision。 |
请发表评论