factory_bot_rails: factories loaded twice - already defined error
Short version: I was adding a new gem into my Gemfile which caused my Gemfile.lock to be updated. I’m no longer able to use rake or start-up rails because my factories are being included twice. After removing the new gem and trying different versions of gems, I was able to isolate the problem to the changes between these versions.
Fine factory_girl (2.0.2) factory_girl_rails (1.1.0)
Problems factory_girl (2.1.0) factory_girl_rails (1.2.0)
It’s not clear to me how to debug this further. Any advice?
I am using rspec and am including the factories in my spec_helper. If I comment out everything in my spec_helper, I still have an issue.
Here is the output from caller.join(“\n”)
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `block in require'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `block in load_dependency'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:596:in `new_constants_in'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
/Users/me/Documents/rails/my_project/spec/factories/courses.rb:1:in `<top (required)>'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in `load'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in `block in load'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `block in load_dependency'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:596:in `new_constants_in'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in `load'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/factory_girl-2.1.0/lib/factory_girl/find_definitions.rb:20:in `block (2 levels) in find_definitions'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/factory_girl-2.1.0/lib/factory_girl/find_definitions.rb:19:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/factory_girl-2.1.0/lib/factory_girl/find_definitions.rb:19:in `block in find_definitions'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/factory_girl-2.1.0/lib/factory_girl/find_definitions.rb:15:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/factory_girl-2.1.0/lib/factory_girl/find_definitions.rb:15:in `find_definitions'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/factory_girl_rails-1.2.0/lib/factory_girl_rails/railtie.rb:12:in `block in <class:Railtie>'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:34:in `call'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:34:in `execute_hook'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:42:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/application/finisher.rb:46:in `block in <module:Finisher>'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `instance_exec'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `run'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/initializable.rb:50:in `block in run_initializers'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `run_initializers'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/application.rb:134:in `initialize!'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/application.rb:77:in `method_missing'
/Users/me/Documents/rails/my_project/config/environment.rb:5:in `<top (required)>'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `block in require'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `block in load_dependency'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:596:in `new_constants_in'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/application.rb:103:in `require_environment!'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/railties-3.0.9/lib/rails/application.rb:218:in `block in initialize_tasks'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:636:in `block in execute'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:597:in `block in invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:607:in `block in invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:596:in `block in invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:607:in `block in invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:596:in `block in invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:607:in `block in invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:596:in `block in invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:607:in `block in invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:596:in `block in invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2029:in `block (2 levels) in top_level'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2029:in `block in top_level'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2001:in `block in run'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rake-0.8.7/bin/rake:31:in `<top (required)>'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/bin/rake:19:in `load'
/Users/me/.rvm/gems/ruby-1.9.2-p180@rails3/bin/rake:19:in `<main>
About this issue
- Original URL
- State: closed
- Created 13 years ago
- Reactions: 1
- Comments: 16 (8 by maintainers)
Are you invoking
FactoryGirl.find_definitions
anywhere, maybe inspec_helper.rb
orfeatures/support/env.rb
?