我最近将我的 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)
如果 I 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 上没有这个错误。