$ GEM不是捆绑包的一部分。将其添加到Gemfile

时间:2016-03-09 20:01:49

标签: ruby-on-rails ruby rspec rubygems osx-yosemite

突然间我不能再跑步了。我甚至在旧的提交上结账,我知道我已经运行了一些测试。那里也有同样的错误。

$ 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)

如果我运行rspecguard,我会收到同样的错误。 看一下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

同一个分支在我的工作计算机上按预期工作。这让我觉得有些环境设置搞砸了。

1 个答案:

答案 0 :(得分:0)

仅在gemPATH中使用GEM_PATH是不够的。您的应用需要require它。将其添加到Gemfile并将其捆绑可确保bundler为您提供此权限。

确保rspec中包含rspec-railsGemfile(如果基于rails的应用程序)。