The latest version of Spree does this remotely - the undefined `set_preference 'method for nil: NilClass

Everything works fine on my local. I installed everything correctly on the server, and when I run rake db:bootstrap or rake db:migrate , I get the following:

 rake aborted! undefined method `set_preference' for nil:NilClass /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/whiny_nil.rb:48:in `method_missing' /home/chrisisraw/webapps/rails/gems/bundler/gems/spree-17e74dd1e908/core/lib/spree/preference_access.rb:18:in `set' /home/chrisisraw/webapps/rails/gems/bundler/gems/spree-17e74dd1e908/core/lib/spree/preference_access.rb:17:in `each' /home/chrisisraw/webapps/rails/gems/bundler/gems/spree-17e74dd1e908/core/lib/spree/preference_access.rb:17:in `set' /home/chrisisraw/webapps/rails/Live-Jolly-Foods/config/initializers/jolly.rb:1 /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:235:in `load' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:235:in `load' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in `load_dependency' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:596:in `new_constants_in' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in `load_dependency' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:235:in `load' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/engine.rb:201 /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/engine.rb:200:in `each' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/engine.rb:200 /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/initializable.rb:25:in `instance_exec' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/initializable.rb:25:in `run' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/initializable.rb:50:in `run_initializers' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/initializable.rb:49:in `each' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/initializable.rb:49:in `run_initializers' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/application.rb:134:in `initialize!' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/application.rb:77:in `send' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/application.rb:77:in `method_missing' /home/chrisisraw/webapps/rails/Live-Jolly-Foods/config/environment.rb:5 /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in `load_dependency' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:596:in `new_constants_in' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in `load_dependency' /home/chrisisraw/webapps/rails/gems/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/application.rb:103:in `require_environment!' /home/chrisisraw/webapps/rails/gems/gems/railties-3.0.5/lib/rails/application.rb:216 /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:636:in `call' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:636:in `execute' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:631:in `each' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:631:in `execute' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain' /usr/local/ruby1.8.7ee/lib/ruby/1.8/monitor.rb:242:in `synchronize' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:604:in `each' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain' /usr/local/ruby1.8.7ee/lib/ruby/1.8/monitor.rb:242:in `synchronize' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:583:in `invoke' /home/chrisisraw/webapps/rails/gems/bundler/gems/spree-17e74dd1e908/core/lib/tasks/core.rake:71 /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:636:in `call' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:636:in `execute' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:631:in `each' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:631:in `execute' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain' /usr/local/ruby1.8.7ee/lib/ruby/1.8/monitor.rb:242:in `synchronize' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:583:in `invoke' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2029:in `each' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2001:in `run' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/lib/rake.rb:1998:in `run' /home/chrisisraw/webapps/rails/gems/gems/rake-0.8.7/bin/rake:31 /home/chrisisraw/webapps/rails/bin/rake:19:in `load' /home/chrisisraw/webapps/rails/bin/rake:19 

Has anyone understood this?

+4
source share
5 answers

Well, it looks like in my extension I had this:

 Spree::Config.set(:stylesheets => 'screen') 

But since it was installed twice? Not sure ... but if I delete it, everything will work fine, since the "screen" is already set in the default settings.

Then I needed to make sure that I completed my migrations with the end: RAILS_ENV='production'

And we are golden!

+1
source

You do not need to delete the initializers / initializers / whatever.rb files, just check if the spree instance exists:

 if Spree::Config.instance Spree::Config.set(:stylesheets => 'screen') end 
+10
source

I had the same error after http://osdir.com/ml/spree-user/2009-11/msg00248.html and setting the preference to disable SSL in the initializers/prefs.rb . Removing it allowed me to complete my migration.

It was on my development machine.

+1
source

I had the same problem with rvm. Compared to a clean gemset that really worked, the problem was that the problematic gems were BOTH in the kit and in the gem catalog. So the possible work is to create a new gemset and run the package.

0
source

Follow these steps:

one: Comment everything in "config / initializers / spree_config.rb"

two: run:

 bundle exec rake db:migrate 

three: Uncomment config / initializers / spree_config.rb

four: Run:

 bundle exec rake db:bootstrap 
0
source

Source: https://habr.com/ru/post/1347961/


All Articles