gpt4 book ai didi

go build 一直提示 : go. mod 有 post-v0 模块路径

转载 作者:IT老高 更新时间:2023-10-28 13:10:28 26 4
gpt4 key购买 nike

随着 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/root@v0.0.0-20180828034419-6bc78016491a: go.mod has post-v0 module path "my.host/root/v17" at revision 6bc78016491a

我不知道为什么会发生这种情况。我在 go.mod 文件中显式添加了 v17.0.1,但每次尝试 go build 都会将条目替换为 v0。 0.0-20180828034419-6bc78016491a 版本然后失败,因为在该提交时,我的根库的 go.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 模块路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52050146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com