jwhitley / requirejs-rails

RequireJS support for your Rails 3 or 4 application
MIT License
592 stars 202 forks source link

Error on precompiling assets #202

Closed rwillrich closed 9 years ago

rwillrich commented 9 years ago

I'm struggling with the following error for a few days when precompiling my assets:

NoMethodError: undefined method `mtime' for nil:NilClass

The full trace:

** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke requirejs:precompile:external (first_time)
** Invoke requirejs:test_node (first_time)
** Execute requirejs:test_node
** Execute requirejs:precompile:external
/Users/rwillrich/.rvm/rubies/ruby-2.1.5/bin/ruby /Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/bin/rake requirejs:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
** Invoke requirejs:precompile:all (first_time)
** Invoke requirejs:precompile:prepare_source (first_time)
** Invoke requirejs:setup (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Execute requirejs:setup
** Invoke requirejs:clean (first_time)
** Invoke requirejs:setup
** Execute requirejs:clean
** Execute requirejs:precompile:prepare_source
rake aborted!
NoMethodError: undefined method `mtime' for nil:NilClass
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/asset.rb:43:in `initialize'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/bundled_asset.rb:14:in `initialize'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:377:in `new'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:377:in `build_asset'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/index.rb:94:in `block in build_asset'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/caching.rb:51:in `cache_asset'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/index.rb:93:in `build_asset'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:287:in `find_asset'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/index.rb:61:in `find_asset'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/environment.rb:75:in `find_asset'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/requirejs-rails-0.9.5/lib/tasks/requirejs-rails_tasks.rake:112:in `block (4 levels) in <top (required)>'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:341:in `block in each_logical_path'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:324:in `block (2 levels) in each_file'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:314:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:314:in `each_entry'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:322:in `block in each_file'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:321:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:321:in `each_file'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/sprockets-2.11.3/lib/sprockets/base.rb:335:in `each_logical_path'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/requirejs-rails-0.9.5/lib/tasks/requirejs-rails_tasks.rake:105:in `block (3 levels) in <top (required)>'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/rwillrich/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:201:in `block in invoke_prerequisites'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:178:in `block in invoke_with_call_chain'
/Users/rwillrich/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/bin/rake:23:in `load'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/bin/rake:23:in `<main>'
Tasks: TOP => requirejs:precompile:all => requirejs:precompile:prepare_source
rake aborted!
Command failed with status (1): [/Users/rwillrich/.rvm/rubies/ruby-2.1.5/bi...]
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/file_utils.rb:54:in `block in create_shell_runner'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in `call'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in `sh'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/file_utils_ext.rb:37:in `sh'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/file_utils.rb:82:in `ruby'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/file_utils_ext.rb:37:in `ruby'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/requirejs-rails-0.9.5/lib/tasks/requirejs-rails_tasks.rake:19:in `ruby_rake_task'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/requirejs-rails-0.9.5/lib/tasks/requirejs-rails_tasks.rake:86:in `block (3 levels) in <top (required)>'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/rwillrich/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:201:in `block in invoke_prerequisites'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:178:in `block in invoke_with_call_chain'
/Users/rwillrich/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/bin/rake:23:in `load'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@holic/bin/rake:23:in `<main>'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@global/bin/ruby_executable_hooks:15:in `eval'
/Users/rwillrich/.rvm/gems/ruby-2.1.5@global/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => assets:precompile => requirejs:precompile:external

Any ideas of what may be causing this error?

carsomyr commented 9 years ago

@rwillrich Most likely incorrect use of Bower. See #188.

rwillrich commented 9 years ago

I'm using requirejs-rails version 0.9.5 with Bower and saving my dependencies to vendor/assets/components directory.

I used this same setup on a different project and it worked.

carsomyr commented 9 years ago

@rwillrich Could you follow the steps taken in #188 and let me know which asset is failing?

rwillrich commented 9 years ago

Where do I put the puts to show the assets that are being processed?

carsomyr commented 9 years ago

Sprinkle some putss in this region.

rwillrich commented 9 years ago

It was with sammy, on its bower.json file, the main path was absolute, and this was causing the error.

I've already sent a PR to them to fix this.

Thanks!

carsomyr commented 9 years ago

@rwillrich Great to hear!

akholodenko commented 8 years ago

Same issue - confirming removing a bower.json file fixed things.