【发布时间】:2020-02-27 19:52:42
【问题描述】:
我间歇性地遇到这个问题,并且希望有一些想法来帮助解决它:
有时在我的 Rails 应用程序中,当我添加新文件(类或模块)或移动并重命名类/模块时,我在通过 binstub 执行 Rspec 时开始看到 Uninitialized constant 错误。但是,如果我直接执行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')
【问题讨论】:
-
试试
spring stop看看能不能解决问题。我的猜测是 spring 正在运行并且没有看到新文件。运行该命令应该使您不必重新启动计算机。我相信还有一个spring restart命令 -
github.com/rails/spring/issues/519 前两位说的。我也很确定我已经看过这个问题两次了哈哈
标签: ruby-on-rails ruby spring rspec ruby-on-rails-5