【问题标题】:In IntelliJ imports are not loading, even though go modules integration is enabled在 IntelliJ 中导入未加载,即使启用了 go modules 集成
【发布时间】:2019-11-29 09:03:27
【问题描述】:

当使用带有 Go 插件的 IntelliJ IDEA 或 GoLand 并使用 Go 1.11 或更高版本时,您可以通过转到 Preferences -> Languages & Frameworks -> Go -> Go Modules (vgo) 并选中框来启用 Go 模块 '启用 Go Modules (vgo) 集成'。

如果您有一个由go mod init 正确初始化的项目,因此具有go.modgo.sum 文件,它将在使用go build 从命令行构建时下载依赖项,或者从IntelliJ 按绿色播放图标。

但是,远程依赖项的导入语句可能仍然是红色的,即使它们似乎已被下载并出现在 go.mod 文件中。

奇怪的是,go 项目实际上会从命令行运行,而不是从 IntelliJ 中运行。为什么会这样?我该如何解决?

【问题讨论】:

    标签: go intellij-idea goland go-modules


    【解决方案1】:

    这种方法不起作用的原因与 IntelliJ 中的配置有关。这就是为什么它可以从命令行运行,而不是在 IntelliJ 中。

    有两种方法可以解决这个问题:

    1. 进入 Preferences -> Languages & Frameworks -> Go -> Go Modules (vgo) 并确保未选中“供应商模式”框。
    2. 确保您的 IntelliJ 项目中有一个名为“vendor”的文件夹。现在可以安全地选中“供应商模式”框。

    使用第一种方法,您的go.mod 文件中定义的依赖项可能会被重新下载,例如,当 go 项目从这些依赖项不在本地包注册表中的位置运行时。

    使用第二种方法,依赖项放在“供应商”文件夹中,不一定需要重新下载,它们是项目的一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-04
      • 2016-06-04
      • 2018-07-18
      • 2023-01-08
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 2017-10-20
      相关资源
      最近更新 更多