RubyMine:Rails 在项目中找不到服务器启动器

RubyMine: Rails server launcher wasn't found in the project

将现有项目导入RubyMine后,在Run/Edit配置时遇到"Rails server launcher wasn't found in the project"。

我已经检查过 Cannot start the debugger in Rubymine. Rails server launcher wasn't found in project,但是删除 .idea 目录并重新打开没有帮助。

我可以在终端中 rails server 成功并且 rails 服务器运行。所以我想这可能是与 RubyMine 相关的东西。

谢谢, 艾伦

最简单的修复方法:

  1. 关闭项目
  2. 从项目文件夹中删除 .idea 文件夹
  3. 打开项目

宾果!

注意:此解决方法似乎不再适用于 2017.2。参见 RUBY-20144

我从 RubyMine 升级到 IntelliJ Ultimate IDE 2017.1.5,我遇到了同样的错误 "Run Configuration Error: Rails server launcher wasn't found in project"。我正在使用 Ruby v2.4.0 和 Rails 5.0.2.

我花了一整天的时间才解决这个问题,所以我写了一个详细的解释和截图来指导其他人。

当我尝试从 IntelliJ 中 运行 或调试我的 Rails 服务器时发生。 其他解决方案也没有修复错误。我尝试删除我的 .idea/ 文件夹,尝试不同的 Ruby 或 Rails 版本(即 Ruby v2.3.0 或最新的 Rails 5.1.2),甚至创建一个品牌从头开始的新项目。但是我可以 运行 Rails 服务器使用终端(在 IDE 之外)和 rails s

解决方法:

首先我打开了 运行 > Edit Configurations 但是 "Choose SDK from module" 没有任何可用的项目模块到 select 从下拉,所以我必须创建一个如下:

我转到文件 > 项目结构

然后我点击 模块,然后点击图标 "+"+",然后 selected "Import Module".

然后我导航到我的 Rails 项目的根目录“'/Users/my_username/code/apps/_murmur/skag_server_rails”并单击 打开,显示以下内容。

然后我 select 编辑了 "Create module from existing sources" 并点击了 "Next",它显示了接下来,它找到的 Rails 项目根目录旁边显示了一个蓝色复选框,所以我再次单击 "Next"

然后显示如下window,我点了"Finish"

我现在已将我正在处理的 Rails 项目导入为 模块 ,它显示了以下内容,因此我单击了 "Ok",因为我现在准备再次尝试 运行 我的 Rails 服务器:

所以我返回 运行 > 编辑配置 window 然后点击 "Rails > skag" 我现在可以在其中使用 "Choose SDK from module" 因为现在我的 "skag_server_rails" 模块 在下拉菜单中可用刚刚创建,没有明显错误,如下图:

然后我可以单击 确定 来保存 Run/Edit 配置

然后我能够 运行 服务器 运行 > 运行,显示:

然后我能够在浏览器中成功打开 Rails 应用 open http://localhost:3000

但是当我尝试 运行 > Debug 以便我可以使用断点进行调试时,它给了我以下错误:

我通过在终端(IDE 之外)运行 解决了这个问题:

gem install debase --pre
gem install ruby-debug-ide

然后我终于可以 运行 运行 > Debug 它允许我触发断点,如下所示:

重要提示:

我最初采用的方法并没有最终修复涉及在 运行 > 编辑配置 window 中选择使用 "Use other SDK" 来加载我的 Ruby 的错误] Gemset 进入调试配置(而不是使用模块)。

更新: 我最近在 2017 年 9 月 2 日再次遇到同样的错误,并按照以下步骤克服它:

  • 转到菜单 > 文件 > 项目结构 > 项目设置 > 模块 > 单击“+”和 select "New Module"
  • Select "Ruby on Rails" 来自左侧列表
  • 选择 "Module SDK" 标记您的 "RVM: ruby-2.4.1 []"
  • 单击 "Rails Version" 标签 "Install Rails Gem..." 下拉列表
    • Select 一个 Rails 版本供其下载并等待(即 5.0.0)
    • 不要 select 导致工具提示 "This version is not fully supported" 出现在下方的 Rails 版本(即 select 使用 Rails 版本 >5.1.2导致这种情况发生)
  • 点击"Rails Version"从下拉列表中标记完成下载的版本(即5.0.0)
  • 输入“../”的"Working Directory"标签值
  • 输入一个"Module Name"(即videotube-5.0.0)
  • 单击 "Apply" 和 "Save"

  • 转到菜单 > 运行 > 编辑配置

    • 更改任何不指向应用程序根文件夹的目录
  • 转到菜单 > 运行 > 调试

我遇到过同样的问题,我发现解决它的方法是在第一次使用 RubyMine 打开项目时正确定义项目的根文件夹。

据我所知,理想情况下,您应该通过将 RubyMine 指向项目的根文件夹来打开项目:

my-workplace/
|-- rails-project-name/  <-- point RubyMine here when openning
|   |-- app/
|   |-- bin/
|   |-- config/
|   |-- db/
|   |-- lib/
|   |-- log/
|   |-- public/
|   |-- test/
|   ...

好的,这个 Ruby我的有一些严重的问题。我的一天开始平静,然后以噩梦结束,感谢 RubyMine。我所做的只是 git 签出我的回购协议的某个版本。好吧,当我这样做时,Ruby我的文件夹突然消失了。是的,这是第一个错误。我 git checkout 8d4fbd1b5dfce0a3daa16896a603903a 然后我打开 Ruby 我的文件夹不见了!我关闭并重新打开。仍然没有文件夹。我重新启动了计算机,但仍然没有文件夹。

我必须转到“项目”>“文件结构”并删除模块。然后创建一个新的模块。现在出现项目文件夹。但是后来我得到了这个晦涩的错误 Rails server launcher wasn't found in the project。我不知道这是什么意思。我上网,他们说删除项目中的 .idea 目录。所以我这样做了。现在我必须再次删除并重新创建模块。

这次它说 "overwrite directory" 因为我有一个现有项目。我 select "Yes" 然后我打开项目,我的 secrets.yml 不见了!现在我不得不使用 secrets.yml 我已经备份了。然后终于成功了。

说真的,这一切只是因为我想签出特定的 git 提交?来吧。

更新 经过进一步调查,我明白了这是怎么回事。关于 Ruby 插件,存在三个关键的 Intellij Idea 文件:

/.idea/
MyProject.iml
/MyProjectGemset/

不应将这三个文件签入 git,并且应该在项目的不同分支中保持一致。您可能在项目中有另一个 *.iml。删除它并确保您在整个分支机构中使用相同的 .iml。

这两个文件与您的 SDK 有关:

 MyProject.iml
/MyProjectGemset/

此文件属于一般配置:

/.idea/

我的变体解决了同样的问题。

创建新的 运行 配置,但使用 "Ruby" 模板而不是 "Redmine":

Ruby 脚本 字段设置为你的 redmine rails bin 路径和 脚本参数 设置为“server -b 127.0.0.1 -p 3000 -e development” for ex.

这对我有用

  • 删除 .ide一个文件
  • 使缓存无效并重新启动ide

如果您在 Windows 上遵循 Artyom Blagoda 的解决方案并在 WSL (Ubuntu) 上安装了 ruby,您将遇到 wsl 路径 (\wsl$ ruby 脚本 (rails) 的 \Ubuntu) 无法被远程 (Ubuntu) ruby 解释器找到。要使其工作,您需要在以下位置添加路径映射:

Settings -> Ruby SDK and Gems -> Your remote ruby or RVM -> 然后点击上面的文件夹图标,你会发现一个新的 window 你放的地方:

本地路径://wsl$/Ubuntu/PATH_TO_YOUR_RAILS_BIN


远程路径:PATH_TO_YOUR_RAILS_BIN

希望对您有所帮助 ;)