当我运行时go mod tidy
,它会中断,因为我的项目导入的包使用 path 导入另一个包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/bbolt@v1.3.5: parsing go.mod:
module declares its path as: go.etcd.io/bbolt
but was required as: github.com/coreos/bbolt
Run Code Online (Sandbox Code Playgroud)
那么,我该如何解决或解决这种情况呢?
您可以使用替换指令来修复此解决方案
只需添加:
replace github.com/coreos/bbolt v1.3.5 => go.etcd.io/bbolt v1.3.5
Run Code Online (Sandbox Code Playgroud)
go.mod
在你的文件末尾