Goland:如何使用自定义 modfile 而不是 go.mod?
Goland: How to use a custom modfile instead of go.mod?
我的项目包含多个 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 应该是只读的(正如我在评论中指出的那样)。
现在我可以回去将替换指令放入 go.mod 文件并使用提交挂钩来防止意外签入(Goland 也有一些工具可以执行此检查)但是,它如果 Goland 可以识别 go 添加的这个新的 -modfile 开关,那将是非常方便的。我想我会要求确保我没有遗漏这里明显的东西。
谢谢!
目前2020.1.3稳定版不支持。有关此内容的未来更新,请参阅 the related issue。
我的项目包含多个 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 应该是只读的(正如我在评论中指出的那样)。
现在我可以回去将替换指令放入 go.mod 文件并使用提交挂钩来防止意外签入(Goland 也有一些工具可以执行此检查)但是,它如果 Goland 可以识别 go 添加的这个新的 -modfile 开关,那将是非常方便的。我想我会要求确保我没有遗漏这里明显的东西。
谢谢!
目前2020.1.3稳定版不支持。有关此内容的未来更新,请参阅 the related issue。