在 RubyMine 中执行测试导致在 Windows 7 上"uninitialized constant Spring::Client::Run::UNIXSocket"



在RubyMine中,我尝试在调试中运行测试(相当于rails test,但在RubyMine中使用调试模式(。我在 RubyMine 控制台中得到这个日志:

Testing started at 08:44 ...
C:Ruby23-x64binruby.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

似乎 RubyMine 尝试针对某些 UNIX 配置运行,但我在我的文件中找不到与此相关的任何内容。

我在Windows 7RubyMine 2018.1.4上用Ruby 2.3.3运行RubyMine。

当我在没有调试模式的情况下运行测试时,一切都很好。

如何解决此问题?谢谢。

您需要卸载 spring,因为它在 Windows 上不受支持。

从他们的自述文件:

Spring广泛使用Process.fork,因此无法在不支持分叉的平台(Windows,JRuby(上提供速度。

要卸载:

  1. "取消弹簧"您的垃圾箱/可执行文件:

    spring binstub --remove --all
    
  2. 从宝石文件中删除弹簧

  3. 通过运行以下命令重新创建 gemlock 文件:

    bundle install
    

最新更新