【问题标题】:Goland: How to use a custom modfile instead of go.mod?Goland:如何使用自定义 modfile 而不是 go.mod?
【发布时间】:2020-06-09 15:14:01
【问题描述】:

我的项目由多个 go 模块组成,我需要同时处理这些模块。这可以通过在 go.mod 文件中使用 replace 指令来简化。

此外,为了防止此更改被意外签入,go 工具(从版本 1.14 开始)提供了一个 -modfile 开关,它允许我将 replace 指令放在 go.local.mod 文件中。这个超级方便。

很遗憾,我无法让 Goland 接收此 go.local.mod 而不是 go.mod

我尝试将Preferences -> Go -> Go Modules 下的GOMOD 环境变量设置为指向我的go.local.mod 文件。这没有达到我的预期(即使用go.local.mod 文件而不是go.mod) 毫不奇怪,这不起作用,因为 GOMOD 应该是只读的(正如在 cmets 中向我指出的那样)。

现在我可以回到将替换指令放在 go.mod 文件中并使用提交挂钩来防止意外签入(Goland 也有一些工具可以执行此检查)但是,这将非常方便如果 Goland 可以识别 go 添加的这个新的 -modfile 开关。我想我会要求确保我没有在这里遗漏一些明显的东西。

谢谢!

【问题讨论】:

  • 你是对的。它不是。但是在设置环境变量时有一个“其他”选项。所以我试了一下。老实说,我真的不在乎这是否是使用 GOMOD env-var 实现的。我只是希望有一种方法可以做到这一点,仅此而已。
  • GOMOD 被特别记录为不是从环境中读取的。您是否正在寻找 GOFLAGS 变量?
  • 道歉。让我编辑我的问题以消除对 GOMOD 的关注。我想要实现的是让 Goland 使用不同于默认的 go.mod 文件(即相当于 go 工具中的 -modfile 开关)
  • 我没试过,但是在“运行配置”中添加-modfile怎么样?
  • 你试过GOFLAGS吗? GOFLAGS=-modfile=./go.local.mod 做你想做的事吗?

标签: go go-modules goland


【解决方案1】:

目前,2020.1.3 稳定版,不支持。请参阅the related issue 了解未来的更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多