Не удается запустить rspec в WSL из RubyMine

#ruby-on-rails #rspec #windows-subsystem-for-linux #rubymine

Вопрос:

Я пытаюсь запустить RSpec из RubyMine при использовании WSL для запуска Ruby. Я могу успешно запустить сервер, но при запуске RSpec я получаю эту ошибку:

 C:Windowssystem32wsl.exe --distribution Ubuntu --exec /bin/sh -c "export HOME=/home/pupeno amp;amp; export RUBYMINE_TESTUNIT_REPORTER='/mnt/c/Program Files/JetBrains/RubyMine 2021.2.1/plugins/ruby/rb/testing/patch/testunit' amp;amp; export WSL_DISTRO_NAME=Ubuntu amp;amp; export TEAMCIY_RAKE_TU_AUTORUNNER_PATH=/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/test-unit-3.3.7/lib/test/unit/autorunner.rb amp;amp; export SHELL=/bin/sh amp;amp; export LOGNAME=pupeno amp;amp; export WSLENV='' amp;amp; export HOSTTYPE=x86_64 amp;amp; export ANSICON='' amp;amp; export TERM=xterm-256color amp;amp; export NAME=assc amp;amp; export DISABLE_SPRING=true amp;amp; export RUBYLIB='/mnt/c/Program Files/JetBrains/RubyMine 2021.2.1/plugins/ruby/rb/testing/patch/common:/mnt/c/Program Files/JetBrains/RubyMine 2021.2.1/plugins/ruby/rb/testing/patch/rake:/mnt/c/Program Files/JetBrains/RubyMine 2021.2.1/plugins/ruby/rb/testing/patch/testunit' amp;amp; export TEAMCITY_RAKE_RUNNER_USED_FRAMEWORKS=':test_unit :shoulda ' amp;amp; export USER=pupeno amp;amp; export SPEC_OPTS='--require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter' amp;amp; export PWD='/mnt/c/Program Files/JetBrains/RubyMine 2021.2.1/jbr/bin' amp;amp; export PATH='$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program' amp;amp; export LANG=C.UTF-8 amp;amp; export RM_INFO=RM-212.5080.58 amp;amp; export TEAMCITY_RAKE_RUNNER_MODE=idea amp;amp; export TEAMCITY_RAKE_TU_TESTRUNNERMADIATOR_PATH=/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/test-unit-3.3.7/lib/test/unit/ui/testrunnermediator.rb amp;amp; cd /mnt/c/Users/pupeno/Code/PandemicAssistant amp;amp; bash -c 'env RBENV_VERSION=3.0.2 /home/pupeno/.rbenv/bin/rbenv exec ruby /home/pupeno/.rbenv/versions/3.0.2/bin/rails spec'"
Testing started at 10:22 ...
/home/pupeno/.rbenv/versions/3.0.2/bin/ruby -I/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib:/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-support-3.10.2/lib /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/**{,/*/**}/*_spec.rb
/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:235:in `require': cannot load such file -- spec/runner/formatter/teamcity_formatter (LoadError)
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:235:in `rescue in custom_formatter'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:232:in `custom_formatter'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:183:in `find_formatter'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:152:in `add'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:974:in `add_formatter'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:118:in `block in load_formatters_into'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:118:in `each'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:118:in `load_formatters_into'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:24:in `configure'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:132:in `configure'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:99:in `setup'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:86:in `run'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:71:in `run'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in `invoke'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/exe/rspec:4:in `<main>'
/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:233:in `block in custom_formatter': uninitialized constant Spec (NameError)
Did you mean?  RSpec
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:233:in `each'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:233:in `inject'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:233:in `custom_formatter'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:183:in `find_formatter'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb:152:in `add'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:974:in `add_formatter'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:118:in `block in load_formatters_into'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:118:in `each'

An error occurred while loading teamcity/spec/runner/formatter/teamcity/formatter.
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:118:in `load_formatters_into'
Failure/Error: __send__(method, file)
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:24:in `configure'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:132:in `configure'

LoadError:
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:99:in `setup'
  cannot load such file -- teamcity/spec/runner/formatter/teamcity/formatter
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:86:in `run'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:71:in `run'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:2112:in `require'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in `invoke'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:2112:in `load_file_handling_errors'
    from /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/exe/rspec:4:in `<main>'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:1574:in `block in requires='
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:1574:in `each'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:1574:in `requires='
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:113:in `block in process_options_into'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:112:in `each'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:112:in `process_options_into'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb:22:in `configure'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:132:in `configure'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:99:in `setup'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:86:in `run'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:71:in `run'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in `invoke'
# /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/exe/rspec:4:in `<main>'
/home/pupeno/.rbenv/versions/3.0.2/bin/ruby -I/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/lib:/home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-support-3.10.2/lib /home/pupeno/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/**{,/*/**}/*_spec.rb failed
# 
#   Showing full backtrace because every line was filtered out.
#   See docs for RSpec::Configuration#backtrace_exclusion_patterns and
#   RSpec::Configuration#backtrace_inclusion_patterns for more information.
No examples found.

Process finished with exit code 1
 

Есть идеи, что происходит?

Я попытался установить teamcity_formatter и запустить rspec, bundle exec но ошибка была той же.

Я могу успешно запустить их с консоли WSL, запустив любой из:

  • rspec
  • bundle exec rspec
  • rake spec

Я запускаю RubyMine 2021.2.1, Ruby 3.0.2, Rails 6.1.4.1, RSpec 3.10.1, rspec-rails 5.0.2.

Комментарии:

1. Не могли бы вы указать, находится ли проект внутри узла WSL или в Windows FS?

2. @Olivia: проект находится в Windows FS.

3. Не могли бы вы, пожалуйста, указать свою версию RubyMine? Произойдет ли то же самое в 2021.2.1? Происходит ли это с проектами, в которых версия Ruby ниже 3.0.2?

4. @Olivia Я запускаю RubyMine 2021.2.1, Ruby 3.0.2, Rails 6.1.4.1, RSpec 3.10.1, rspec-rails 5.0.2. Я не знаю о более старом Ruby, на самом деле у меня его нет.

5. Какую версию WSL вы используете? Это WSL2? Пожалуйста, укажите также версию вашей операционной системы Windows (в случае, если это Win11, есть определенные проблемы, связанные с WSL).