尝试加载 gem 'factory_girl_rails' 时出错。 (捆绑器:: GemRequireError)

There was an error while trying to load the gem 'factory_girl_rails'. (Bundler::GemRequireError)

我无法将 gem factory_girl_rails 正确加载到 运行 我的测试。 我检查了每个地方,但我无法解决。 这是我 运行 spec 时的错误:

/Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'factory_girl_rails'. (Bundler::GemRequireError)
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler.rb:99:in `require'
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/config/application.rb:7:in `<top (required)>'
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/config/environment.rb:2:in `require'
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/config/environment.rb:2:in `<top (required)>'
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/spec/spec_helper.rb:2:in `require'
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/spec/spec_helper.rb:2:in `<top (required)>'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `require'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `block in requires='
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `each'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `requires='
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:109:in `block in process_options_into'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:108:in `each'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:108:in `process_options_into'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:21:in `configure'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:105:in `setup'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:92:in `run'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:78:in `run'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:45:in `invoke'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/exe/rspec:4:in `<top (required)>'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `load'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `<main>'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

捆绑包安装正常,这是我的 gem 在 /gemfile

 group :development, :test do 
  gem 'sqlite3'

  gem 'pry-byebug'
  gem 'binding_of_caller'
  gem 'better_errors'

  gem 'web-console', '~> 2.0'

  gem 'spring'
  gem 'capybara'
  gem 'rspec-rails', '~> 3.0'
  gem 'factory_girl_rails'  
  gem 'database_cleaner'
end

/spec/models/participant_spec.rb

require 'spec_helper'

RSpec.describe Participant, type: :model do
  it "has a valid factory"
    Factory.create(:participant).should be_valid
  it "is invalid without a name"
  it "returns a participant's full name as a string"
end

/spec/factories/participants.rb 需要 'faker'

FactoryGirl.define do
  factory :participant do |f|
    f.name {Faker::Name.name}
    f.email {Faker::Internet.email}
    f.password {Faker::Internet.password(8)}
  end
end

我之前遇到过这个问题,这个错误有3个可能的原因:

  1. 你的 Gemfile 被复制了。
  2. 您还没有安装node js
  3. 你复制了factory_girl.rb