Неинициализированная постоянная ошибка с rspec binstub (bin / rspec), но не с самой rspec - PullRequest
0 голосов
/ 01 ноября 2019

У меня периодически возникает эта проблема, и мне бы хотелось, чтобы некоторые идеи помогли разобрать ее:

Иногда в моем приложении Rails, когда я добавляю новый файл (класс или модуль) или я перемещаю и переименовываю класс/ module Я начинаю видеть ошибку Uninitialized constant при выполнении Rspec через binstub. Однако, если я выполняю rspec напрямую, я не получаю эту ошибку (и при этом она отсутствует на сервере разработки или на консоли). Просто binstub страдает от этой проблемы.

bundle exec bin/rspec # uninitialized constant error
bundle exec rspec     # no errors

Единственный способ решить эту проблему - это полная перезагрузка компьютера. Даже новые терминальные сессии не могут преодолеть это. Binstubs загружаются намного быстрее и предпочитают полагаться на них, но перезапуск моего компьютера, когда это происходит, раздражает.

У кого-нибудь есть идеи, что может вызывать эту проблему?

Вот мой binstub:

#!/usr/bin/env ruby
begin
  load File.expand_path('../spring', __FILE__)
rescue LoadError => e
  raise unless e.message.include?('spring')
end
require 'bundler/setup'
load Gem.bin_path('rspec-core', 'rspec')

1 Ответ

0 голосов
/ 06 ноября 2019

В случае, если кто-то еще сочтет это полезным, предложение @JayDorsey сработало:

bundle exec spring stop

После его остановки повторный запуск того же теста с помощью binstub устранил проблему.

...