Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Execute tests in RubyMine causes "uninitialized constant Spring::Client::Run::UNIXSocket" on Windows 7

In RubyMine, I try to run tests in debug (equivalent to rails test, but with debug mode in RubyMine). I get this log in RubyMine console:

Testing started at 08:44 ...
C:\Ruby23-x64\bin\ruby.exe C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/ruby-debug-ide-0.7.0.beta4/bin/rdebug-ide --disable-int-handler --evaluation-timeout 10 --evaluation-control --time-limit 100 --memory-limit 0 --rubymine-protocol-extensions --port 55232 --host 0.0.0.0 --dispatcher-port 55233 -- C:/Users/[ANONYMOUS]/bin/rails test
Fast Debugger (ruby-debug-ide 0.7.0.beta4, debase 0.2.2, file filtering is supported) listens on 0.0.0.0:55232
Uncaught exception: uninitialized constant Spring::Client::Run::UNIXSocket
Did you mean?  Socket
               IPSocket
               UDPSocket
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/run.rb:26:in `connect'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/run.rb:31:in `call'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/rails.rb:24:in `call'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
    C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
    C:/Ruby23-x64/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
    C:/Ruby23-x64/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
    C:/Users/[ANONYMOUS]/bin/spring:15:in `<top (required)>'
    C:/Users/[ANONYMOUS]/bin/rails:3:in `load'
    C:/Users/[ANONYMOUS]/bin/rails:3:in `<top (required)>'

Process finished with exit code 0

It seems like RubyMine tries to run against some UNIX configuration, but I couldn't find anything related to this in my files.

I run RubyMine with Ruby 2.3.3, on Windows 7, RubyMine 2018.1.4.

When I run tests without the debug mode, everything is fine.

How could I resolve this problem? Thanks.

like image 600
Rémi Doolaeghe Avatar asked Nov 08 '22 03:11

Rémi Doolaeghe


1 Answers

You need to uninstall spring as it's not supported on Windows.

From thier README:

Spring makes extensive use of Process.fork, so won't be able to provide a speed up on platforms which don't support forking (Windows, JRuby).

To uninstall:

  1. 'Unspring' your bin/ executables:

    spring binstub --remove --all
    
  2. Remove spring from your Gemfile

  3. Recreate your gemlock file by running:

    bundle install
    
like image 175
NemyaNation Avatar answered Nov 13 '22 19:11

NemyaNation