golang mod中出现module declares its path as:github.com/xxx……错误的解决方法

作者:御融IT 发布时间:2022-06-22

        公司业务系统用golang语言开发,框架用的gf,今晚gf框架正式升级到2.1.0版本,于是也及时跟进升级到此版本,但升级后发现使用的gtoken报错,主要错误是2.1.0版本中r.Response.WriteJson(respData)不再返回错误值,改为内部处理,而gtoken正好是有部分代码使用到此函数,让gtoken马上升级支持gf2.1.0版本是不可能的,于是只能从github上下载源码进行修改,修改完毕后新建一个分支到公司账户上(没有gtoken的贡献者权限,只能建分支),提交到github并打标签,发布版本为gtoken1.5.7,然后直接将go.mod中对应的包更改为新的分支包,结果执行go mod tidy后发现报错如下:

PS D:\workspace\go\yurongMall> go mod tidy
go: finding module for package github.com/yurongbj/gtoken/gtoken
go: found github.com/yurongbj/gtoken/gtoken in github.com/yurongbj/gtoken v1.5.7
go: yurongMall/internal/service imports
        github.com/yurongbj/gtoken/gtoken: github.com/yurongbj/gtoken@v1.5.7: parsing go.mod:
        module declares its path as: github.com/goflyfox/gtoken
                but was required as: github.com/yurongbj/gtoken

        搜索网上一堆解决方案,好几处都提到加replace,试着增加后依然报错,折腾一个小时候发现有一处没有进行说明,所以在此发文重点强调一下:网上说的replace是正确的,但前边的require中引入的包是不需要更改的,而我想当然的更改为新的分支包,所以后边的添加replace一直报错,正确的方法其实就是前边的都不用改,只在go.mod最后加一句即可:

replace github.com/goflyfox/gtoken v1.5.6 => github.com/yurongbj/gtoken v1.5.7

微信截图_20220622010825.png

【声明】:LifeAdd生活方式登载该文章目的是为更广泛的传递行业信息,不代表赞同其观点或证实其描述,本网站亦不为其版权负责。若无意侵犯您合法权益的内容,请联系本网站,核实后将立即予以删除!
标签: golang引入包名异常 gtoken兼容gf2.1.0

高品质生活资讯平台

『LifeAdd生活方式』是一家引领高端品质生活的互联网平台,聚焦前沿时尚风潮,为高品质人群推送生活资讯和商业信息,链接高端商业与高端人群生态圈。

业务范围

经营规则

联系我们
北京市丰台丽泽金融商务区平安幸福中心A座7层
82918700@qq.com
微信号:82918700

2013-2024 LifeAdd生活方式 www.lifeadd.cn 版权所有 | 御融(北京)科技有限公司 All Rights Reserved
增值电信业务经营许可证:京B2-20200664 | 京ICP备14004911号-7