哦,Vendor
vendor踩坑笔记:
接过公司里面X平台golang部分的后端后,需要新添加一个业务功能,美滋滋~ 拿过项目一顿写之后后遇到事了。
报错的描述如下:
报错的大意说:方法的入参类型不匹配,我们不能把 Assignment2/vendor/github.com/...
当作github.com/...
类型来使用。
出现的这个错误的原因就项目中使用的 beego的Controller使用了vendor进行管理,于是在这个包前多了个前缀 项目名/vendor/xxx
。但是呢,这个函数需要的是纯粹的beego的controller,加上这个前缀之后反到是不认识了。于是就出现了上面的错误。
查阅资料后了解:vendor是在GOPATH的管理之下的,大白话说:如果我们的项目在GOPATH目录下,那么项目中需要的依赖信息优先从vendor中获取。你看,我上面的报错就属于这个情况,我以为我在使用 github/astaxie/beego/controller , 而实际优先导入了 项目名/vendor/github/astaxie/beego/controller
当时我是如何解决的呢?
不是说优先导入vendor中的代码吗?好,我把你删除,你不就使用我本地的依赖了?(纯洁的微笑~)
事实证明,确实如此,删除vendor中的依赖后,一切归于平静,继续开发~
但是我提交代码让组里的大佬CR时,大佬发现vendor被我改了~~~,这才知道,项目之所以使用vendor管理项目就是为了让项目中的依赖可以跟着项目迁移,这样部署项目时不再去很多不同的地方拉取依赖,因为依赖都在项目里面。
所以删除vendor中的依赖并不是万全之策,可以删掉现在的vendor,重新用vendor初始化一下,让项目中的依赖重新让vendor管理。
# 下载govendor
go get -u -v github.com/kardianos/govendor
# 在当前目录中执行如下命令进行初始化,将依赖加入vendor统一管理
govendor init
govendor add +e
哦,Vendor的更多相关文章
- NopCommerce 在Category 显示Vendor List列表
实现效果如下: 1.在前台Web的Category Menu显示 Vendor; 2.点击Vendor 显示Vendor List列表: 主要配置步骤: 1.运行网站 Admin 后台 Categ ...
- Yii2 vendor出现bower-asset这么解决
yii\base\InvalidParamException: The file or directory to be published does not exist: /data/wwwroot/ ...
- thinkphp vendor
vendor('weixin.request'); 对应文件:Core\Library\Vendor\weixin\request.php import('weixin.request#class') ...
- 环信SDK报错处理方法obtain an updated library from the vendor, or disable bitcode for this target. for archit
ld: '/Users/momo/Desktop/ThreeFingers/Pods/EaseMobSDKFull/EaseMobSDKFull/lib/libEaseMobClientSDK_arm ...
- 安装node-sass提示没有vendor目录的解决办法
在node-sass目录下面新建一个vendor的空目录,然后运行npm/cnpm rebuild node-sass --save-dev即可,如果安装失败,会生成一个目录名为类似这样win32-x ...
- 关于 windows 下 node_modules\node-sass\vendor 的报错解决方法
项目git clone下来之后,运行npminstall, npm start报错代码如下: ERROR in ENOENT: no such file or directory, scandir ' ...
- laravel 安装完成后安装 vendor 目录
composer install 就是将composer.js 中的配置下载安装 生成vendor目录
- Microsoft Dynamics AX 2012: How to get Company,Customer and Vendor address in AX 2012
Scenario: “How to get Addresses of “Customer, Vendor and Company” 1) First we need to identify ...
- CommonsChunkPlugin的使用(关于angular2中的polyfills和vendor的疑问解决)
seed: angular2-webpack-starter(在github上可以找到) polyfills:提供api以方便兼容不同的浏览器 vendor:项目插件扩展 在学习ng2中一直不明白为什 ...
- 问题-XE8客户端访问Webservice时报“no selected dom vendor”
问题现象:XE8做的客户端访问XE8做的Webservice时,客户端报“no selected dom vendor”. 问题原因:原因不明,应该是用到了XML转换等方法吧.有高手了解的,请M我. ...
随机推荐
- Mybatis系列二-快速开发
mybatis学习系列第二篇 分页 在网页中常常用到,在查询数据库内容并想将其输出的时候,因为有时有多组数据,一页展示过于突兀,所以会用到分页操作. 在sql用limit来分页. 首先是UserMap ...
- 力扣题解-560. 和为K的子数组
题目描述 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数. 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] ...
- IDEA将Maven项目中指定文件夹下的xml等文件编译进classes
eclipse下面创建的Maven项目,使用mybatis.eclipse里面能正常启动,在idea中一直卡在maybatis 加载位置. 1.首先是不报错也没反应.这个时候需要我们重写SqlSess ...
- vue中事件代理
由于在vue实例内部,this指向了实例本身,所以在编写事件代理的时候,用e.currentTarget引用绑定事件代理的元素,e.target引用事件目标元素.刚刚不注意想用this引用代理元素报错 ...
- 【DevCloud · 敏捷智库】如何拆分用户故事
提起用户故事拆分,我们听得最多的就是INVEST原则(关于INVEST原则可以参考文章“用户故事等于需求说明”——你一定没有写好用户故事),但很多人面临的问题是拿到一个较大的用户故事时,该如何拆分才能 ...
- Oracle 大数据查询优化方法
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- 远程快速安装redis和远程连接
一.安装redis 1.设置redis的仓库地址, 执行命令: yum install epel-release 出现下图即设置成功 2.安装redis 执行命令如下: yum insta ...
- SpringCloud(三)- OpenFeign简介及@FeignClient等注解的使用
唯能极于情,故能极于剑 有问题或错误请及时联系小编或关注小编公众号 "CodeCow",小编一定及时回复和改正,期待和大家一起学习交流 此文由四部分组成(OpenFeign简介.@ ...
- pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值.
- 数据库-第八章 数据库编程-8.4 ODBC编程
ODBC编程 一.ODBC概述 二.ODBC工作原理概述 1.用户应用程序 2.ODBC驱动程序管理器 3.数据库驱动程序 4.数据源管理 5.小结 三.ODBC API基础 1.函数概述 2.句柄及 ...