代码之家  ›  专栏  ›  技术社区  ›  Dylan Meeus

Go模块多种主要方法

  •  1
  • Dylan Meeus  · 技术社区  · 6 年前

    我有一个主要方法多种多样的项目。 跑步时 go build program1/main1.go 它有一组不同于 program2/main2.go 我的第一个 go build 似乎改变了我的 go.mod 文件并删除它的依赖项 认为 不需要。然而 main2 需要这些依赖性。

    我试过用 go build ... 但这也创建了一组不同的依赖关系。具体来说,似乎 //indirect 依赖项被删除并导致程序2失败。

    有跑步的方法吗 去建 go run 不更新 Go.MOD 文件?使用 go build -mod=readonly program1/main1.go 它告诉我它失败了,因为依赖项需要更新。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Eli Bendersky    6 年前

    我相信你在找 子模块 . 见 this walktrhough .

    你要一个单独的 go.mod 在每个工具中 cmd dir,您可以使用 replace 指示将这些工具的依赖项指向本地模块。

    This Go Issue 与之相关的其他人建议,找出“唯一正确的方法”来实现这一点仍然是WIP,尽管我认为您的用例已经足够简单了。