3

Rspec 已经运行了一段时间,但是在运行任何 rspec 测试时我突然遇到了这个问题:

/Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:437:in `require': no such file to load -- rspec/instafail (LoadError)
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:437:in `block in requires='
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:435:in `map'
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:435:in `requires='
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb:20:in `block in configure'
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb:19:in `each'
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb:19:in `configure'
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:21:in `run'
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:66:in `rescue in run'
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:62:in `run'
from /Users/joseph/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `block in autorun'

我通常对我的项目进行几次检查(即 git clone 两次到不同的目录中)。出于某种原因,即使使用相同版本的代码,rspec 只会在我的一个结帐中遇到此问题,而在另一个结帐中则不会。我最终通过创建另一个克隆来规避这个问题。由于某种原因,这个问题再次出现,我不想继续创建克隆来避免这个问题。有谁知道可能是什么根本原因?

4

1 回答 1

2

原来问题是像 rspec-instafail 这样的 gem 被归类为开发 gem。在过去的某个时候,我运行过“bundle install --without development”,显然后续的捆绑安装是使用该选项自动完成的。结果,这些宝石不在我的 $LOAD_PATH 上。

为了解决这个问题,我只运行了 'bundle install --without asdf' 并且由于没有 'asdf' 组,它安装了所有的 gem。可能有一个更合适的选项来重新添加这些组,但这对我有用。

于 2012-11-20T03:31:48.053 回答