go - 如何让我的 GoLand 检测 $GOPATH/pkg/mod 下的依赖包?

标签 go goland

我正在尝试通过 kubebuilder 教程,并将现有项目导入到 GoLand。

使用 kubebuilder 自动生成的脚手架代码,以及使用 go mod 自动下载的 pkg 为我解决问题。我在使用命令行环境时没有遇到任何问题,但事实证明,在使用 GoLand 打开项目后,IDE 无法解析导入的包名称,这意味着它无法检测或链接 go mod 安装的包。

我从 IDE 首选项中启用了 go mod(with vendoring) 和 dep,正确设置了 GOPATH 和 Go 运行时,但错误不断出现。

我不知道为什么我会收到这个错误,以及如何解决它。

+) 工作目录是$GOPATH/src/example,所有的逻辑和设置都放在这个目录下。安装的依赖项放在 $GOPATH/pkg/mod 下。

最佳答案

I enabled go mod(with vendoring) and dep both from IDE preferences, set GOPATH and GOROOT properly, but the error keeps to appear.



假设您的机器上有以下设置:
  • Go 安装在 /usr/lib/go
  • GOPATH 设置为 /home/florin/go
  • KubeBuilder 项目名为 demobuilder/home/florin/projects/demobuilder 下创建.对于 Go Modules 项目,我建议这样做,而不是像您一样使用 GOPATH,因为它们在 GOPATH 中的行为方式不同。

  • 首先,确保您拥有 GoLand 2019.3.1 或更高版本。

    然后,在创建 demobuilder 之后项目,启动 GoLand,然后点击 Open Project按钮。

    当项目打开时,如果你还没有配置,IDE 会询问你 Go SDK 的配置,也就是 GOROOT。它将是编辑器顶部的黄色条。单击右侧的链接进行配置。可以选择本地安装,指向/usr/local/go .如果您没有安装 Go,您也可以将其下载到您选择的目录中。

    然后,IDE 应该会自动注意到该项目是基于 Go Modules 的项目并启用对它们的支持。如果不是,请转到 Settings/Preferences | Go | Go Modules并启用它。不要同时启用 Go Modules 和 dep 支持。如果您这样做了,请禁用 dep 集成并重试。

    您可以在 the help page 中看到所有这些.

    关于go - 如何让我的 GoLand 检测 $GOPATH/pkg/mod 下的依赖包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59961858/

    相关文章:

    Golang 的 GORM 不向 "has many"关系添加关联

    go - 如何使用库或实用程序函数组织结构链代码的文件夹结构?

    go - TestMain 未运行

    go - 无法从 GoLand 运行 go 测试(Intellij Idea): compilation failed

    go - golang中强制返回错误

    pointers - 如何使用指向该 slice 的指针获取 slice 项

    go - GoLand找不到引用: “Unresolved reference ' NewRGBA' ”

    intellij-idea - 如何在 Mac 上关闭单个 JetBrains IDE?

    algorithm - 根据出现次数对数字进行分组?

    go - 过时的-Apple Silicon上的GoLand无法调试golang项目