现在换了一份工作,虽然还是做IT,但是与原来的行业毕竟不一样,有很多新东西需要学习。现在,每一天都很充实,所以很久没有更新博客了(给自己的懒惰,找个借口)
好了,言归正传,聊聊今天的主题------go module 导入本地嵌套包报错解决办法。其实网上有很多关于go module 导入本地包的教程,而且都写的挺好的(给大家推荐一篇我认为写的挺好的文章,https://blog.csdn.net/taoerchun/article/details/104827702)。这里我就不再重复这些内容了。今天,我主想写的是如何利用go module导入本地嵌套包这种特殊情况。
工程文件目录结构如下:

简单描述一下调用关系:
文件main.go 调用了文件mypackage.go的A函数;A函数又调用了文件logic.go的B函数。这种情况下,存在嵌套包含关系,采用https://blog.csdn.net/taoerchun/article/details/104827702 这篇文章中的方法就不行了(或者说这偏文章没有更进一步描述这种场景的解决方案)。那么具体会出什么问题呢?请看下图:

是的,会报“reading xxx/yyy/www/go.mod at revision v0.0.0: unknown revision v0.0.0”这个错误。一开始,我对报这个错误感到很奇怪。我已经在go.mod中明确申明使用本地包,怎么还报这个错误呢?go module应该一层一层自己去解析go.mod文件,发现是本地包就直接替换呀(而现实情况不是这样的)。后来和朋友交流后,他建议在cmd目录下的go.mod 做“同步依赖”。具体做法是:把FolderA文件夹下的go.mod里面的本地依赖,复制到cmd文件夹下的go.mod文件里(同理,如果有更多层嵌套调用,则需要将所有的本地包替换声明复制到cmd文件夹下的go.mod文件里)。(有点绕,看图吧)

这样做了后,go mod tidy,就没有报错了,也能编译通过了。另外对于,main.go直接在src目录下(不是放到cmd目录下),这种方法同样适用!

go module 导入本地嵌套包报错解决办法相关推荐

  1. idea安装及项目导入过程中pom报错解决办法

    1.idea安装可用破解版或者在淘宝上买正版账号(20多块钱一年,挺便宜的) 2.pom报错解决办法: 在项目导入过程中pom报错: 原因:相关jar包未下载完.(下载速度慢,因为下载的链接是国外的节 ...

  2. Mysql8.0.16 连接包报错解决方法

    Mysql8.0.16 连接包报错解决方法 Mysql8.0 .16连接包报错: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized o ...

  3. 【matlab】【Datcom】气动解算软件win10报错解决办法及运行交互示例

    版本说明 免费版本仍然可用.尚未使用Datcom + Pro版本的功能进行更新.没有大量的工作,我无法生成新的分发程序包,并且我现在对此不感兴趣.建议您观看教程视频,以了解使用新的Datcom + P ...

  4. pycharm安装pandas报错解决办法

    pycharm安装pandas报错解决办法 当使用pycharm自动安装pandas时,提示安装失败并要求在命令提示符界面进行安装.在使用命令提示符安装成功之后,发现pycharm仍然无法安装pand ...

  5. Python在指定环境下安装第三方库的报错解决办法

    Python在指定环境下安装第三方库的报错解决办法 在python安装第三方库时,如果直接打开cmd命令提示符,并输入下列安装命令,则会默认安装在base环境下 但base环境下的包新建的虚拟环境是无 ...

  6. idea无法切换分支报错解决办法

    idea无法切换分支报错解决办法 一.背景 二.解决办法 一.背景 idea拉取项目后,master分支配置完项目基础配置后,生成.iml等文件不受git管理后无法检出其他分支,报错如下: Could ...

  7. Windows Server 2003 sp1升级到sp2报错解决办法

    Windows Server 2003 sp1升级到sp2报错解决办法 [问题描述]今天利用360安全卫士,检测Windows Server 2003 sp1更新包,并升级到sp2时,报如下错误: [ ...

  8. Apache/php7.4/Mariadb安装和报错解决办法

    Apache和Mariadb安装基本都没有什么问题 PHP7.4安装过程中出现很多报错,网络大佬够已经给解决,下边安装步骤已经亲测: 需要安装apache的: 安装:yum -y install ht ...

  9. import win32con报错解决办法

    import win32con报错解决办法 安装pypiwin32包 pip install pypiwin32

最新文章

  1. Class中isAssignableFrom() 方法
  2. 《从零构建前后分离web项目》:开篇 - 纵观WEB历史演变
  3. Kanzi常用操作2
  4. 【windows】【linux】tree命令
  5. 使用设计模式构建通用数据库访问类
  6. WX微信小程序路由API使用
  7. 强悍的 ubuntu —— 查看软件版本及安装位置
  8. 怎么阻止acrobat自动更新升级?
  9. php+检测是否是手机浏览器,通过PHP、JavaScript、判断是否为手机浏览器
  10. 揭秘:寻找水军组织,宝妈兼职月入3000+
  11. IT项目经理应该做什么
  12. 微信小程序小Demo
  13. 简单局域网聊天室--Java版
  14. vue登录页面实现记住密码的操作
  15. Gradle sync failed: Could not find xxxx.xx 之 强制刷新Gradle dependencies
  16. [tcpreplay] tcpreplay高级用法--使用tcpreplay-edit进行循环动态发包
  17. 2020-01-08 Oracle 数据库储存生僻字
  18. 常见CAD/CAM控件大全
  19. drawboard pdf拆分文件_干货 | 这是一份最全的PDF问题解决方案
  20. 兰州计算机学校排行榜,兰州计算机学校排行

热门文章

  1. RabbitMQ简介(一)
  2. 每日新闻:腾讯与东华软件拟战略合作;云基础设施服务Q3收入超170亿美元;三星计划推出AR云服务;四部门发布科创单位税收优惠政策...
  3. 使用极路由进行外网映射,本地电脑做服务器,运行javaWeb项目
  4. 搭建web服务器,创建基于域名的虚拟主机
  5. jQuery已经落幕了~~
  6. CTA策略你知道多少
  7. 便利贴--46{HbuildX连接夜神模拟器}
  8. ipcs命令详解——共享内存、消息队列、信号量定位利器【转】
  9. uni-app: APP端同时选择图片和视频,长按删除并震动提示
  10. Codeforces Round#713 A-E题解