I’ve just started maintaining someone else’s code base and I’m having trouble getting it to run locally in a production environment. The error itself arises when precompiling the stylesheets.
It’s a Rails 3.2.6 app running on Ruby 1.9.2. I noticed that in the output below, the gemset being used it global, which is odd because when I run
rvm gemset list
it indicates that the project’s gemset is being used. I’m not sure if this is a cause of my problem of if it’s unrelated.
I’m not really sure what to do to fix this. Any suggestions?
RAILS_ENV=production rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/Users/bendowney/.rvm/rubies/ruby-1.9.2-p320/bin/ruby /Users/bendowney/.rvm/gems/ruby-1.9.2-p320@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
rake aborted!
undefined method `each' for true:TrueClass
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/actionpack-3.2.6/lib/sprockets/static_compiler.rb:47:in `compile_path?'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/actionpack-3.2.6/lib/sprockets/static_compiler.rb:22:in `block in compile'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:212:in `block in each_logical_path'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:200:in `block (2 levels) in each_file'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:190:in `each'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:190:in `each_entry'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:198:in `block in each_file'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:197:in `each'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:197:in `each_file'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/sprockets-2.1.3/lib/sprockets/base.rb:210:in `each_logical_path'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/actionpack-3.2.6/lib/sprockets/static_compiler.rb:18:in `compile'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/actionpack-3.2.6/lib/sprockets/assets.rake:56:in `internal_precompile'
/Users/bendowney/.rvm/gems/ruby-1.9.2-p320@challenge/gems/actionpack-3.2.6/lib/sprockets/assets.rake:70:in `block (3 levels) in <top (required)>'
In your environments/production.rb make sure your
config.assets.precompileis an Array and not set totrue. Example from the docs: