如何修复解析 go.mod 模块将其路径声明为“x”但需要为“y”

我正在开发一个依赖于original-project. 我现在想通过修改original-project. 所以我克隆github.com/y/original-projectgithub.com/x/my-version并替换了所有出现的github.com/y/original-projectwith github.com/x/my-version(包括 in mod.go)。

但我不断收到此错误:

go: github.com/x/my-version@v0.5.2: parsing go.mod:
    module declares its path as: github.com/y/original-project
            but was required as: github.com/x/my-version

即使我跑步go get -u -v -f allgithub.com/x/my-version

我可能做错了什么?


慕妹3242003
浏览 280回答 3
3回答

芜湖不芜

我认为问题出在go.mod你的克隆版本original-project仍然说module github.com/y/original-project. 您应该使用go.mod replace指令。它完全适用于像您这样的情况。replace github.com/y/original-project => /path/to/x/my-version

繁花如伊

诀窍是更新go mod缓存。因此,在go.mod(ie github.com/X/Z => github.com/Y/Z) 中进行所需的更改后,您需要下载最新版本,这将更新您的本地go mod缓存。IEgo get github.com/Y/Z@fd02212然后错误消息就会消失。

汪汪一只猫

我有类似的问题。我最终删除了我试图导入并go mod init ...再次运行的项目中的 go.mod 文件。它修复了它。另外,go clean -modcache在您要导入的地方运行。然后试试go get ...你的包。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go