突然间我不能再跑步了。我甚至在旧的提交上结账,我知道我已经运行了一些测试。那里也有同样的错误。
$ git checkout known-working-commit && bundle && rspec spec
.../ruby-2.2.3@solidus/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:304:in
`block in replace_gem': rspec-core is not part of the bundle.
Add it to Gemfile. (Gem::LoadError)
如果我运行rspec
和guard
,我会收到同样的错误。
看一下rvm info
公开的PATH,我看到/Users/martins/.rvm/gems/ruby-2.2.3@solidus/bin/guard
处有警卫。
$ PATH也有/Users/martins/.rvm/gems/ruby-2.2.3@solidus/bin
作为它的第一个条目。
知道可能出了什么问题吗?我认为通过在PATH中首先列出目录会使它优先于列出的其他目录。为什么我会收到"bundler-1.11.2/lib/bundler/rubygems_integration.rb:304:in block in replace_gem': rspec-core is not part of the bundle. Add it to Gemfile"
错误?
我正在运行OS X 10.10.5和ZSH。
我的测试部分来自 Gemfile
19 group :test do
20 gem 'factory_girl_rails', '~> 4.5.0'
21 gem 'capybara', '~> 2.4'
22 gem 'capybara-screenshot'
23 gem 'database_cleaner', '~> 1.3'
24 gem 'email_spec'
25 gem 'launchy'
26 gem 'rspec-activemodel-mocks', '~>1.0.2'
27 gem 'rspec-collection_matchers'
28 gem 'rspec-its'
29 gem 'rspec-rails', '~> 3.3.0'
30 gem 'simplecov'
31 gem 'webmock', '1.8.11'
32 gem 'poltergeist'
33 gem 'timecop'
34 gem 'with_model'
35 gem 'rspec_junit_formatter'
36 end
同一个分支在我的工作计算机上按预期工作。这让我觉得有些环境设置搞砸了。
答案 0 :(得分:0)
仅在gem
或PATH
中使用GEM_PATH
是不够的。您的应用需要require
它。将其添加到Gemfile
并将其捆绑可确保bundler
为您提供此权限。
确保rspec
中包含rspec-rails
或Gemfile
(如果基于rails的应用程序)。