代码之家  ›  专栏  ›  技术社区  ›  ereOn

go build一直抱怨:转到.mod具有v0后模块路径

  •  4
  • ereOn  · 技术社区  · 8 年前

    在发布go1.11之后,我一直在尝试将我的存储库迁移到Go模块,方法是添加一个 go.mod

    我的一个根库 my.host/root 是在它的17.0.1版本中,所以我在它的 转到.mod

    module my.host/root/v17
    

    我标记了那个版本 v17.0.1 如Go模块手册中所述。

    package main
    
    import root "my.host/root/v17"
    
    func main() {
        root.DoSomething()
    }
    

    试着编译它,我得到了以下错误:

    我不知道为什么会这样。我明确地补充道 v17.0.1版 转到.mod 但每次尝试 go build 将条目替换为 v0.0.0-20180828034419-6bc78016491a 转到.mod 文件 module 我的根库条目确实以 v17 ,应该如此。

    v17.0.1版

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

    2 回复  |  直到 8 年前
        1
  •  12
  •   RJFalconer    6 年前

    我犯了两个错误:

    • v17.0.0 标记将指向一个提交 go.mod 不包含 v17 导入路径后缀。因此,gotooling似乎将整个v17主版本视为v0/v1, 即使后面的v17标记指向一个 指令 ,因此提交ID“translation”。
    • 在我依赖的项目中 文件,我错误地指定了
      require my.host/root v17.0.1 而不是
      require my.host/root/v17 v17.0.1 .

    在解决了这两个问题之后,一切似乎都恢复了正常,而且工作得非常完美。我希望文件能更清楚地说明这一点,但我想这是一个很好的机会来作出贡献!

        2
  •  5
  •   djsd123    7 年前

    我得到的错误是: github.com/emicklei/go-restful@v0.0.0-20180531035034-3658237ded10: go.mod has post-v0 module path "github.com/emicklei/go-restful/v2" at revision 3658237ded10

    附加 github.com/emicklei/go-restful 具有 v2 是这样的: github.com/emicklei/go-restful/v2 go.mod 档案帮我修好了。

    推荐文章