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

将现有项目导入RubyMine后,在运行/编辑配置时遇到“项目中未找到Rails服务器启动器”。

我已经检查过这个无法在Rubymine中启动调试器。 在项目中找不到Rails服务器启动器 ,但删除.idea目录并重新打开是没有用的。

我可以成功地在终端中使用rails服务器并运行rails服务器。 所以我猜这可能与RubyMine有关。

谢谢,艾伦

我从RubyMine升级到IntelliJ Ultimate IDE 2017.1.5,我遇到了同样的错误“运行配置错误:在项目中找不到Rails服务器启动器” 。 我使用Ruby v2.4.0和Rails 5.0.2。

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

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

解决方法:

首先我打开了Run> Edit Configurations但是“从模块中选择SDK”没有任何Project Modules可供选择,因此我必须按如下方式创建一个:

我去了文件>项目结构

在此处输入图像描述

然后我单击模块 ,然后单击图标“+” ,并选择“导入模块”

在此处输入图像描述

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

在此处输入图像描述

然后我选择了“从现有源创建模块”并单击“下一步” ,它显示以下内容,它找到了我的Rails项目根目录旁边的蓝色复选框,所以我再次单击“下一步”

在此处输入图像描述

然后显示以下窗口,我点击“完成”

在此处输入图像描述

我现在已经完成了我作为模块工作的Rails项目的导入,它显示了以下内容,所以我点击了“Ok” ,因为我现在准备尝试再次运行我的Rails服务器:

在此处输入图像描述

所以我回到Run> Edit Configurations窗口并单击“Rails> skag” ,我现在可以使用“从模块中选择SDK”,因为现在我的“skag_server_rails”模块在我刚创建的下拉列表中可用,并且没有明显的错误,如下所示:

在此处输入图像描述

然后我可以单击“ 确定”以保存“运行/编辑配置”

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

在此处输入图像描述

然后,我可以在浏览器中open http://localhost:3000成功打开Rails应用程序

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

在此处输入图像描述

在此处输入图像描述

我通过在终端(IDE外部)中运行以下内容来解决这个问题:

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

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

在此处输入图像描述

重要的提示:

我最初修改错误的最初方法是在Run> Edit Configurations窗口中选择使用“Use other SDK”将我的Ruby Gemset加载到调试配置中(而不是使用Module)。

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

  • 转到菜单>文件>项目结构>项目设置>模块>单击“+”并选择“新模块”
  • 从左侧列表中选择“Ruby on Rails”
  • 选择“模块SDK”标签“RVM:ruby-2.4.1 []”
  • 单击“Rails版本”标签“Install Rails Gem …”下拉列表
    • 选择一个Rails版本下载并等待(即5.0.0)
    • 不要选择导致工具提示“此版本不完全支持”的Rails版本显示在下面(即选择Rails版本> 5.1.2会导致这种情况发生)
  • 单击“Rails版本”标签从下拉列表中完成下载的版本(即5.0.0)
  • 输入“工作目录”标签值“../”
  • 输入“模块名称”(即videotube-5.0.0)
  • 点击“应用”和“保存”

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

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

最简单的解决方法:

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

答对了!

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

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

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

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

好的,这个RubyMine有一些严重的问题。 我的一天开始和平,然后作为一个噩梦结束,由RubyMine提供。 我所做的只是git checkout到某个版本的我的回购。 好吧,当我这样做时,RubyMine中的文件夹突然消失了。 是的,这是第一个错误。 我git checkout 8d4fbd1b5dfce0a3daa16896a603903a然后我打开RubyMine并且文件夹消失了! 我关闭并重新打开。 仍然没有文件夹。 我重新启动计算机,仍然没有文件夹。

我不得不去Project> File Structure并删除Module。 然后创建一个新模块。 现在出现项目文件夹。 但后来我得到了这个模糊的错误Rails server launcher wasn't found in the project 。 我不知道这意味着什么。 我上网了,他们说你的项目中删除了.idea目录。 所以我这样做。 现在我又要删除并重新创建模块。

这次它说“覆盖目录”,因为我有一个现有的项目。 我选择“是”,然后我打开项目,我的secrets.yml消失了! 现在我不得不使用secrets.yml我已经备份了。 然后最终它的工作原理。

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

更新在进一步调查后,我了解发生了什么。 关于Ruby插件有三个关键的Intellij Idea文件:

 /.idea/ MyProject.iml /MyProjectGemset/ 

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

这两个文件属于您的SDK:

  MyProject.iml /MyProjectGemset/ 

此文件适用于一般配置:

 /.idea/