在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 7
RubyMine 2018.1.4
上用Ruby 2.3.3
运行RubyMine。
当我在没有调试模式的情况下运行测试时,一切都很好。
如何解决此问题?谢谢。
您需要卸载 spring,因为它在 Windows 上不受支持。
从他们的自述文件:
Spring广泛使用Process.fork,因此无法在不支持分叉的平台(Windows,JRuby(上提供速度。
要卸载:
-
"取消弹簧"您的垃圾箱/可执行文件:
spring binstub --remove --all
-
从宝石文件中删除弹簧
-
通过运行以下命令重新创建 gemlock 文件:
bundle install