如何在 IntelliJ IDEA 中设置 ruby SDK?

How do I setup the ruby SDK in IntelliJ IDEA?

我一直在使用this指南

每当我导入模块时,我都会看到这个屏幕:

我使用了下面的文件路径,可能是哪里出了问题? /usr/local/Cellar/ruby-build/20160130/share/ruby-build/2.3.0

并得到这个错误:

我很感激任何人可能有的任何想法,我一直在努力让这个工作一整晚!

语言和框架 > Ruby SDK 和 Gems

为了在 IDEA 中为您的项目设置 Ruby SDK,您需要转到文件 |项目结构 |项目设置并设置项目和模块SDK。

Olivia 是正确的,"Project Structure..."(Mac 快捷方式 Cmd+;)是对话框配置 IDE 以使用不同的 ruby 安装。

第一个要求是正确配置 ruby 管理器 (chruby, rbenv, rvm)。

另一个问题是 jetbrains 期望组织 ruby 安装的确切位置和方式。我想知道 Intellij 是否与 ruby-install 布局 ruby 的方式兼容?那是我与 chruby 一起使用的那个。我无法让它工作。

url 到 Opening Rails projects in IntelliJ IDEA 的发布让我对我们走在正确的轨道上有了最大的信心。 :)

当时,由于 IDE 没有看到 gem 文件,我无法配置 Intellij。我项目的 Gemfile 中除了大约 4 gem 之外的所有内容都被突出显示为存在 SDK 问题。

为了结束这个,我停止使用 chruby 和 ruby-install。我不是在责怪 chruby,但是我无法使 chruby 系统与 IDE 一起正常工作。它在 shell 中运行良好。请注意,我以前是 rvm 和 rbenv 的用户。现在切换回 rbenv。请注意,我也已停止直接使用 ruby-build。

相反,我直接从 rbenv 构建了第一个 ruby 版本:

rbenv install 2.3.1

接下来,我通过 运行ning 在 rails 项目目录的根目录中创建了 .ruby-version 文件:

rbenv local 2.3.1

帮助解决有关 shell 启动脚本所需的最低支持的任何混淆。根本不要改变 PATH。将以下内容放入您的 shell 启动脚本系统,无论是什么:

# rbenv config in my .bash_profile
# --------------------------------
if which rbenv > /dev/null; then
  eval "$(rbenv init -)";
fi

先决条件已解决...

我建议按照 jetbrains 教程中描述的相同方式导入项目 Opening Rails projects in IntelliJ IDEA

在 thesowismine 的第一个屏幕截图中,我看到两个用于不同目的的对话框同时打开。除非我弄错了,否则其中一个对话框应该在继续之前收到其信息并关闭,至少在类似向导的过程中是这样。也许这已经完成并且该对话框稍后重新加载?

无论如何,这不是 Ruby SDK 与 Rails 项目相关联的地方。屏幕截图表明用户正在浏览 brew Cellar,这可能表明两件事。

  1. Ruby 是用 brew install <version> 命令安装的;我通过调用 rbenv 生态系统安装了 ruby。
  2. 该特定对话框用于通知 IDE 关于 Rails 项目文件夹,而不是 Ruby 工具包。

假设第一个对话框提供了 Rails 应用程序的根目录,然后单击下一个;然后在第二个对话框中,我不做任何更改,然后单击下一步。第三个对话框是我确认项目目录正确的地方,我可以指定一个更详细的名称(显示在 IDE 的项目菜单中)。单击下一步可能会提示您覆盖“.idea/”目录。说是。下一个对话框确认已找到源。点击下一步。现在假设 Ruby 管理器设置正确,框架开始被检测到。单击完成。

现在,转到 "Project Structure..." 对话框以设置 SDK。

在设置 SDK 之前或之后,转到您的 Rails 项目的项目目录,运行:

gem install bundle
bundle install

这将安装您的项目所需的所有 gem,包括 rails gem,因为它可能已列在您的 Gemfile 中。

请注意,gem集不会在这里出现。在此配置中,gem 组与特定的 Ruby 安装相关联。 Bundler 是你的朋友。

我通过以下方式解决了这个问题:

首选项 |插件 |安装 JetBrains 插件

我 运行 使用 Intellij IDEA 2020.2 解决了这个问题。解决了一段时间,因为 Intellij 文档似乎缺少一个关键部分。

当您第一次在 IDEA 中打开一个项目时,它假定您的所有代码都是 Java 模块的一部分。使用该模块后,您无法在模块级别设置 Ruby SDK。没有选项可以执行,因为现有模块配置为 Java.

这是我使用默认 Java 模块的示例项目的屏幕截图。请注意,该图标是一个右下角带有蓝色矩形的文件夹。

这是我必须做的。

  1. 打开“项目结构”对话框(文件 | 项目结构)。

  2. 在模块设置中,突出显示 top-level 项目模块并单击删除按钮(看起来像一个减号)。

  3. 单击加号添加新模块。

  4. 从 pop-up 单击“新建模块”。

  5. 在“新模块”中pop-upselectRuby和正确的模块SDK(例如rbenv:2.5.0)

  6. 当系统提示您输入模块名称、内容根目录和模块文件位置时,请确保将目录设置为项目的根目录。当我输入模块名称时,它会将名称附加到项目的根目录,这可能不是您想要的。

完成后,模块上应显示 Ruby 图标,其余部分应按照此处记录的方式工作:https://www.jetbrains.com/help/idea/configuring-language-interpreter.html

这是我的新 Ruby 模块的屏幕截图。您可以看到 Ruby 图标替换了蓝色矩形。

希望这能为您节省一些时间!