Подтвердить что ты не робот

Запуск спецификации в RubyMine приводит к тому, что "невозможно загрузить такой файл - teamcity/spec/runner/formatter/teamcity/formatter (LoadError)"

ОС: Arch Linux, Rails версия: 4, RubyMine: 6.3

Когда я запускаю spec из Tools - Run Rake Task - spec, я всегда получаю эту ошибку:

/home/chylli/.rvm/gems/[email protected]/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1024:in `require ': невозможно загрузить такой файл - teamcity/spec/runner/formatter/teamcity/formatter (LoadError)

но вполне нормально запускать 'debug spec: models'.

Что я пробовал: я добавил "ruby arguments" в разделе Run - edit configurations:

-I $RUBYMINE_HOME/rb/testing/patch/bdd -I $RUBYMINE_HOME/rb/testing/patch/common

но это не сработает.

4b9b3361

Ответ 1

Run

spring stop

в командной строке перед запуском rake из RubyMine или напрямую запускать спецификации или делать что-либо еще, что использует spring.

Вам не нужно делать это каждый раз, когда вы запускаете рейк или спецификации или что-то еще в RubyMine, только если вы ранее запускали spring, запустив rake или выполнив что-то еще, запустив spring за пределами RubyMine. Вам также не нужно spring stop при переключении с RubyMine обратно в командную строку.

Это происходит потому, что если spring не работает, когда вы запускаете rake или что-то вне RubyMine, запускается spring и предварительно загружает ваш код, но не код RubyMine. Очевидно, что spring не знает, как загрузить отсутствующий код после его запуска.

Ответ 2

Я потратил время, чтобы исправить это без необходимости перезапуска spring.

Там Pull Request для быстрого я сделанный в моей вилке spring -commands-rspec gem.

Но это не похоже на то, что репо активно, поэтому вы можете использовать мое исправление, переключив вашу запись spring -commands-rspec в это в свой Gemfile:

gem 'spring-commands-rspec', git: 'https://github.com/thewoolleyman/spring-commands-rspec.git'

HTH,:) - Чад

Ответ 3

Имел ту же самую проблему только сегодня, и мне пришлось предпринять разные действия:

spring stop скажет мне, что Spring is not running

Поэтому мне пришлось

1. убить их вручную

ps aux | grep spring

Дала бы мне

thomasromera     27841   [...] | spring app    | started 23 hours ago | development mode
thomasromera     38931   [...] | spring app    | started 18 hours ago | development mode
thomasromera     54661   [...] | spring app    | started 4 mins ago | development mode
thomasromera     27840   [...] | spring server | started 23 hours ago

затем уничтожить все серверы + приложения

kill 27840
kill 38931
...

2. Выключите предварительный загрузчик spring в RubyMine:

В RubyMine: CMD + Shift + A введите spring pre-loader, выключите его и повторите параметры.

Не забудьте снова включить его, если вам это нужно.