登录
首页 >  Golang >  Go问答

如何强制 go mod 接受声明其路径与其 go.mod 不同的模块?

来源:stackoverflow

时间:2024-04-28 16:39:32 272浏览 收藏

你在学习Golang相关的知识吗?本文《如何强制 go mod 接受声明其路径与其 go.mod 不同的模块?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

当我运行 go mod tidy 时,它会中断,因为我的项目导入的包使用路径 github.com/coreos/bbolt 导入另一个包,但是当它从此路径获取包时,它的 go.mod 说它的路径是 go .etcd.io/bbolt

问题是导入的包和导入的包都是第三方包。我知道我可以编辑 go 模块缓存来修复它,但是当这些包的新版本可用时,修复它将是一个真正的地狱。

部分回显消息如下所示:

github.com/coreos/etcd/client tested by
    github.com/coreos/etcd/client.test imports
    github.com/coreos/etcd/integration imports
    github.com/coreos/etcd/etcdserver imports
    github.com/coreos/etcd/mvcc/backend imports
    github.com/coreos/bbolt: github.com/coreos/[email protected]: parsing go.mod:
    module declares its path as: go.etcd.io/bbolt
            but was required as: github.com/coreos/bbolt

那么,我该如何解决或解决这种情况?


解决方案


您可以使用 replace directive 修复此解决方案

只需添加:

replace github.com/coreos/bbolt v1.3.5 => go.etcd.io/bbolt v1.3.5

go.mod 文件末尾

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>