登录
首页 >  Golang >  Go问答

go build 不断抱怨:go.mod 有 post-v0 模块路径

来源:stackoverflow

时间:2024-04-09 19:51:33 281浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《go build 不断抱怨:go.mod 有 post-v0 模块路径》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

go 1.11 发布后,我一直在尝试通过在根目录添加 go.mod 文件将我的存储库移动到 go 模块。

我的一个根库 my.host/root 的版本是 17.0.1,所以我在它的 go.mod 文件中写道:

module my.host/root/v17

我按照 go 模块手册中的记录标记了该版本 v17.0.1

当我尝试创建一个使用我的根库的新 go 项目时,例如:

package main

import root "my.host/root/v17"

func main() {
    root.DoSomething()
}

并尝试编译它,我收到以下错误:

go: my.host/[email protected]: go.mod 具有修订版 6bc78016491a 的 v0 后模块路径“my.host/root/v17”

我不知道为什么会发生这种情况。我在 go.mod 文件中显式添加了 v17.0.1,但每次尝试 go build 都会将该条目替换为 v0.0.0-20180828034419-6bc78016491a 版本,该版本随后会失败,因为在该提交时, z我的 qbczqbgo.mod 文件 module 条目根库确实以 v17 结尾,正如它应该的那样。

郑重声明,此提交与标记的 v17.0.1 版本相同。

我在这里做错了什么?我该如何调试这种情况?


解决方案


我犯了两个错误:

  • 我的初始 v17.0.0 标记将指向 go.mod 不包含 v17 导入路径后缀的提交。因此,Go 工具似乎将整个 v17 主要版本视为 v0/v1,即使后面的 v17 标签指向具有正确 go.mod 指令的提交,因此提交 ID ”翻译”。
  • 在我的依赖项目中,在 go.mod 文件中,我错误地指定了
    需要 my.host/root v17.0.1 而不是
    需要 my.host/root/v17 v17.0.1

解决这两个问题后,一切似乎都恢复正常并且工作完美。我希望文档对此能更清楚,但我想这是一个做出贡献的好机会!

本篇关于《go build 不断抱怨:go.mod 有 post-v0 模块路径》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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