-->

RubyMine: Rails server launcher wasn't found i

2020-05-20 08:47发布

问题:

After importing an existing project into RubyMine, I encountered "Rails server launcher wasn't found in the project" when I Run/Edit Configuration.

I've checked this Cannot start the debugger in Rubymine. Rails server launcher wasn't found in project, but deleting the .idea directory and re-open is not helpful.

I can rails server in the Terminal successfully and the rails server runs. So I guess it's likely a RubyMine related thing.

Thanks, Allen

回答1:

I upgraded from RubyMine to IntelliJ Ultimate IDE 2017.1.5 and I encountered the same error "Run Configuration Error: Rails server launcher wasn't found in project". I was using Ruby v2.4.0 with Rails 5.0.2.

It took me an entire day to solve the issue, so I've written a detailed explanation with screenshots to guide others.

It occurred when I tried to Run or Debug my Rails server from within IntelliJ. Other solutions also didn't fix the error. I tried deleting my .idea/ folder, trying different Ruby or Rails versions (i.e. Ruby v2.3.0 or latest Rails 5.1.2), and even starting a brand new project from scratch. But I could run the Rails server fine using Terminal (outside the IDE) with rails s.

SOLUTION approach:

First I opened Run > Edit Configurations but "Choose SDK from module" didn't have any Project Modules available to select from the drop-down, so I had to create one as follows:

I went to File > Project Structure

Then I clicked Modules, and clicked the icon "+", and selected "Import Module".

Then I navigated to my Rails project's root directory "'/Users/my_username/code/apps/_murmur/skag_server_rails" and clicked Open, which displayed the following.

I then selected "Create module from existing sources" and clicked "Next", and it showed the following, with a blue checkbox shown next to my Rails project root directory that it found, so I clicked "Next" again:

It then showed the following window, and I clicked "Finish".

I'd now finished importing the Rails project I was working on as a Module, and it showed the following, so I clicked "Ok", as I was now ready to try and run my Rails server again:

So I went back to Run > Edit Configurations window and click on "Rails > skag" where I could now use "Choose SDK from module" since there was now my "skag_server_rails" Module available in the drop-down that I just created, and no errors were apparent, as shown below:

I was then able to click Ok to save the Run/Edit Config

I was then able to run the server Run > Run, which displayed:

I was then able to successfully open the Rails app in the browser open http://localhost:3000

But then when I tried to Run > Debug so I could debug using breakpoints, it gave me the following errors:

I solved this by running the following in the Terminal (outside the IDE):

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

Then finally I could run Run > Debug and it allowed me to trigger breakpoints as shown below:

Important Note:

The initial approach that I took that DID NOT end up fixing the error involved choosing to use "Use other SDK" within the Run > Edit Configurations window to load my Ruby Gemset into the debug configuration (instead of using a Module).

UPDATE: I encountered the same error again more recently on 2nd September 2017 and followed these steps to overcome it:

  • Go to Menu > File > Project Structure > Project Settings > Modules > Click "+" and select "New Module"
  • Select "Ruby on Rails" from the left hand side list
  • Choose for "Module SDK" label your "RVM: ruby-2.4.1 []"
  • Click for "Rails Version" label the "Install Rails Gem..." drop-down
    • Select a Rails version for it to download and wait (i.e. 5.0.0)
    • Do not select a Rails version that causes the tooltip "This version is not fully supported" to appear below (i.e. selecting a Rails version >5.1.2 causes this to occur)
  • Click for "Rails Version" label the version that finished downloading from the drop-down (i.e. 5.0.0)
  • Enter "Working Directory" label value of "../"
  • Enter a "Module Name" (i.e. videotube-5.0.0)
  • Click "Apply" and "Save"

  • Go to Menu > Run > Edit Configurations

    • Change any directories that do not point to root folder of app
  • Go to Menu > Run > Debug


回答2:

The easiest way to fix it:

  1. Close project
  2. Remove .idea folder from project folder
  3. Open project

Bingo!

NOTE: this workaround seems to no longer work with 2017.2. See RUBY-20144



回答3:

I've came across this same problem, and a way I found to solve it was to properly defining the root folder of the project when opening it in the first time with RubyMine.

As far as I can understand, ideally you should open the project by pointing the RubyMine to the project's root folder:

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


回答4:

Ok, this RubyMine has some serious issues. My day started out peaceful and then ended as a nightmare, courtesy of RubyMine. All I did was git checkout to a certain version of my repo. Well, when I did that, suddenly the folders in RubyMine disappeared. Yes, that is the first bug. I git checkout 8d4fbd1b5dfce0a3daa16896a603903a And then I open RubyMine and folders are gone! I closed and reopened. Still no folders. I restarted computer and still no folders.

I had to go to Project > File Structure and delete the Module. And then create a new Module. Now the project folders appear. But then I get this obscure error Rails server launcher wasn't found in the project. I have no idea what it means. I go online and they say delete .idea directory in your project. So I do that. And now again I have to delete and recreate the module.

This time it says "overwrite directory" since I have an existing project. I select "Yes" and then I open project and my secrets.yml is gone! Now I had to use secrets.yml I had backed up. And then finally it works.

Seriously, all this just because I wanted to checkout out a specific git commit? Come on.

UPDATE After further investigation, I understand what is going on. There are three critical Intellij Idea files with regards to the Ruby plugin:

/.idea/
MyProject.iml
/MyProjectGemset/

These three files should not be checked into git and should be consistent across the different branches of your project. You might have another *.iml in the project. Delete that and make sure you are using the same .iml throughout the branches.

These two files pertain to your SDK:

 MyProject.iml
/MyProjectGemset/

This file pertains to general configuration:

/.idea/