Пружина останавливает консоль Rails от запуска

Я недавно обновил свой Ruby до 2.5.0. С тех пор я не могу правильно запустить консоль Rails. Он либо зависает бесконечно, либо через несколько секунд показывает мне эту ошибку:

before_session hook failed: NoMethodError: undefined method `reject!' for nil:NilClass

Полная ошибка:

Running via Spring preloader in process 6102
Loading development environment (Rails 5.1.4)
before_session hook failed: NoMethodError: undefined method `reject!' for nil:NilClass
Traceback (most recent call last):
/Users/zoro/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:171:in `fork': undefined method `reject!' for nil:NilClass (NoMethodError)

Если я DISABLE_SPRINGЯ могу запустить консоль, как и ожидалось. Однако (не уверен, если это связано, если нет - я могу выяснить это отдельно), если возникнут какие-либо ошибки, консоль "вылетает" и возвращает меня к терминалу:

⇒rails console
Loading development environment (Rails 5.1.4)
[1] pry(main)> a
Traceback (most recent call last):
bin/rails: undefined method `[]' for nil:NilClass (NoMethodError)
⇒

Любая помощь по этому вопросу будет принята с благодарностью. Использование rbenv для управления Ruby и отсутствие этой ошибки в других версиях Ruby.

1 ответ

Решение

Это кажется странной проблемой с binding_of_caller в сочетании с весной. Удаление этого драгоценного камня вернуло все к работе, как и ожидалось. Я знал, что найду ответ, как только спрошу.

В настоящее время нет исправления, но, похоже, у него уже есть открытая проблема: https://github.com/charliesome/better_errors/issues/411

Другие вопросы по тегам