为啥 IntelliJ Idea 找不到 GO SDK 的位置?

Posted

技术标签:

【中文标题】为啥 IntelliJ Idea 找不到 GO SDK 的位置?【英文标题】:Why IntelliJ Idea cannot find location of GO SDK?为什么 IntelliJ Idea 找不到 GO SDK 的位置? 【发布时间】:2015-03-12 06:38:32 【问题描述】:
    我下载了go1.4.darwin-amd64-osx10.8.tar.gz 并将其解压到我的本地目录中。 根据 Installing to a custom location 所说,我在 env 变量中添加了 GOROOT。 根据Test your installation 所说,我创建了一个 go 文件。 我终于运行了它,得到了如下截图所示的预期结果。

我实际上有 IntelliJ v.14,但基于 this article,我在 IntelliJ Idea 中安装了 Go Language (golang.org) 版本 0.9.15.3。 我创建了一个 Go 项目,并在创建过程中要求我添加 GO SDK。我给了它~/Desktop/go/sdk,但它无法识别它。我在事件日志中收到此错误:

14:03:02 IllegalArgumentException:@NotNull 参数的参数 的“虚拟文件” com/intellij/openapi/projectRoots/impl/ProjectRootContainerImpl.addRoot 不能为空

如果您知道 IntelliJ Idea 如何识别它,我们将不胜感激。谢谢。

【问题讨论】:

我什至删除了我添加到 env var 中的行。并安装了 .dmg 格式的 GO SDK。虽然 echo $GOPATH 和 $GOROOT 正在返回 GOPATH 和 GOROOT 但仍然 intelliJ Idea 无法添加 SDK,尽管它能够自动找到路径(没有我浏览到 usr/local/go 文件夹。 【参考方案1】:

~Desktop/go/sdk 似乎不是有效路径(因为它指的是“Desktop”用户的主目录):~/Desktop/go/sdk 应该会更好。

只要您在 ~/Desktop/go/sdk 文件夹中看到子文件夹 'api'、'bin'、'blog',...,这应该是 GO SDK 所期望的正确文件夹“golang support plugin”。

该插件和 IntelliJ 14 存在一些问题:issues 1169、PR 1172(已针对 1.0.0-alpha 修复)。 另一种方法是recompile and install that plugin。

指定 Go SDK 路径的最终结果应如下所示:

【讨论】:

是的,我的 SDK 文件夹中有这些文件夹 您是否从导出 GOROOT 的 bash 会话中启动了 IntelliJ? 不,我只需双击从启动板运行它:)【参考方案2】:

请考虑使用 0.9.16 的 alpha 版本之一。我相信 alpha7 可能比 alpha9 更稳定。你可以从GitHub releases获得它们

v1.0.0-alpha0 分支,顾名思义,是一个 alpha 版本,它处于开发的早期阶段,这就是为什么还没有发布它的原因。

附:我是该插件的贡献者之一。

【讨论】:

谢谢,我以不同的形式安装/卸载了几次,看看有什么问题。 0.9.16 解决了我的问题。谢谢。 @RaviDalmia 您能否在 Github 问题跟踪器上为该插件打开一个问题,并提供有关该问题的更多详细信息?我们目前没有用户报告该插件不适用于 IDEA 14 或 14.1。谢谢。 @dlsniper 我正在使用 IntelliJ 14,并尝试了 0.9.16 版本、1.0.0 版本以及 IntelliJ 插件链接上列出的版本,但它们根本不允许我添加去 SDK。 @RaviDalmia 请在问题跟踪器上打开一个问题,并提供有关您问题的详细信息。目前我不知道插件无法检测到任何 go SDK 安装方法。如果您从 zip 文件安装插件,请不要先解压缩,安装 zip(在 MacOSX 上会发生,请阅读发行说明) @dlsniper 似乎我只是在提取并尝试使用该插件。赞成澄清:) go 现在似乎可以工作,只是一个侧面问题,代码的输出目录似乎存在一些问题,我会尝试解决这个问题。【参考方案3】:

不允许在 Mac Yosemite 下使用放置在 /usr/local/go 中的 SDK(完全有效且最新的 SDK)。 Google App Engine 也无法识别最后一个有效的 GAE GO SDK。

【讨论】:

Go 插件的最新版本解决了这个问题,请参阅 dlsniper 的回答。

以上是关于为啥 IntelliJ Idea 找不到 GO SDK 的位置?的主要内容,如果未能解决你的问题,请参考以下文章

intellij IDEA为啥我代码编译的时候没有问题 但是maven打包的时候报错找不到类?代码中都import过了啊

IntelliJ IDEA 编译代码报错 找不到符号 符号: 找不到符号包 包

在 IntelliJ IDEA 中找不到 SBT-shell

IntelliJ IDEA 编译代码报错 找不到符号 符号: 找不到符号包 包

IntelliJ Idea 找不到 sbt-idea-compiler-indices

intellij idea 怎么找不到spring boot