使用govendor管理golang项目依赖

最近在项目开发过程中,遇到一个问题,当代码编写完成后,执行go run 时,提示如下错误:

大概意思就是我有golang.org/x/net/trace的两个副本,且提示了,可以通过vendor的副本解决。见鬼了,我哪来的golang.org/x/net/trace两个副本?仔细观察,才发现,我之前已经安装了golang.org/x/net/trace,然后项目开发使用了etcd,该源码目录下有个vendor子目录,里面包含了目录如下:

在网上查阅才知道,假设有如下场景:

你的工程引用了一些外部包,且这些包仍有更新的可能,或者你们项目组另外开发一些公用包,且还在并行开发迭代中,如果你的项目代码本来运行稳定,却因为外部包的更新导致运行出现问题,你是不是很郁闷?所以为了开发时或者部署时,将外部包版本确定,在go1.6之后引入vendor目录,即你的项目工程中,多了个vendor目录,执行go build的时候,会在vendor目录下边寻找你引用的外部包,这样每次编译的时候,当外部包修改,测试通过后ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值