Rails 4.1.6, Ruby 2.1. We use CircleCI, and so far it's been working great. On development, our app runs fine, but today an issue cropped up on CircleCI and I don't know how to fix the problem. Could someone help?
I updated our gems yesterday, but we didn't have any issues until today (perhaps there was some caching going on?). I've rebuilt the build again and again (also selecting the option to clear the cache, but still no success), and the error persists.
I believe all of the tests pass, but here is where the error starts:
I, [2014-10-11T04:14:07.529348 #9596] INFO -- : Writing /home/ubuntu/my-app-name/public/assets/jasmine/grunt/templates/SpecRunner-af60bb7e74338e42129e060a5ef78fcc.html
rake aborted!
NameError: undefined local variable or method `jasmine_version' for #<#<Class:0x00000002b8b1e8>:0x0000000d8e6540>
(in /home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/rails-assets-jasmine-2.0.0/app/assets/templates/jasmine/src/templates/example_project_jasmine_tags.html.erb)
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/rails-assets-jasmine-2.0.0/app/assets/templates/jasmine/src/templates/example_project_jasmine_tags.html.erb:1:in `block in singleton class'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/rails-assets-jasmine-2.0.0/app/assets/templates/jasmine/src/templates/example_project_jasmine_tags.html.erb:-5:in `instance_eval'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/rails-assets-jasmine-2.0.0/app/assets/templates/jasmine/src/templates/example_project_jasmine_tags.html.erb:-5:in `singleton class'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/rails-assets-jasmine-2.0.0/app/assets/templates/jasmine/src/templates/example_project_jasmine_tags.html.erb:-7:in `__tilt_5657380'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `call'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `evaluate'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:197:in `block in evaluate'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `each'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `evaluate'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:12:in `initialize'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `new'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `block in build_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:395:in `circular_call_protection'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:373:in `build_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/bundled_asset.rb:16:in `initialize'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `new'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `build_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:211:in `block in find_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:257:in `benchmark'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:210:in `find_asset'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:119:in `block in compile'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `each'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `compile'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/non-stupid-digest-assets-1.0.4/lib/non-stupid-digest-assets.rb:31:in `compile_with_non_digest'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-2.1.4/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/rake/sprocketstask.rb:146:in `with_logger'
/home/ubuntu/my-app-name/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-2.1.4/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace) bundle exec rake assets:precompile returned exit code 1bundle exec rake assets:precompile returned exit code 1bundle exec rake assets:precompile returned exit code 1bundle exec rake assets:precompile returned exit code 1
I think this may have been an issue with updating our gems. We I did a gem update, the version of Jasmine Core was fixed at 2.0.0, whereas Jasmine was updated from 2.0.2 to 2.0.3. Of course, I did update a number of other gems, and I went through our Gemfile and removed some version specifications.
Additionally, in our circle.yml file, our pre tasks included:
bundle exec rake assets:clobber
bundle exec rake tmp:clear
bundle exec rake assets:precompile
These were originally added because of some earlier problems we were having. I removed these.
I am also guessing that CircleCI was using cached gems, so the problem didn't appear immediately.
Anyways, this appears to have fixed the problem.
I'm not sure about what's going on here, but it could be due to wrong gem groups in your Gemfile. Try taking the jasmine gem out of any groups such as :development or :test and placing it along with the gems required for all environments.
My rails app uses Rails 3.2.15. When I try to deploy to Heroku, I get the error:
Asset logical path has no extension: ]
In other examples I've seen of the "asset logical path" error, the element after the colon was the filename. Why does it think there is a file called "]"?
Here is the full error:
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/asset.rb:36:in `initialize'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/base.rb:380:in `new'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/base.rb:380:in `build_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/index.rb:94:in `block in build_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/caching.rb:58:in `cache_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/index.rb:93:in `build_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/base.rb:287:in `find_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/index.rb:61:in `find_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/manifest.rb:211:in `block in find_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/manifest.rb:257:in `benchmark'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/manifest.rb:210:in `find_asset'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/manifest.rb:119:in `block in compile'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/manifest.rb:118:in `each'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/sprockets/manifest.rb:118:in `compile'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-rails-2.0.0.backport1/lib/sprockets/rails/task.rb:60:in `block (3 levels) in define'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2.backport2/lib/rake/sprocketstask.rb:146:in `with_logger'
/tmp/build_4d16c741-7af1-443a-b0f0-8aad5d279d8f/vendor/bundle/ruby/1.9.1/gems/sprockets-rails-2.0.0.backport1/lib/sprockets/rails/task.rb:59:in `block (2 levels) in define'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
!
! Precompiling assets failed.
!
! Push rejected, failed to compile Multipack app
I can recreate this error locally by running the following command
bundle exec rake assets:precompile
Some background:
I'm trying to integrate bootstrap-sass with my Rails 3.2 app. I followed the install instructions for 3.2.x outlined on the gem page:
https://github.com/twbs/bootstrap-sass
This works locally, but when I try to deploy, I get the errors described above.
If you're still on this or other people find this like I did, the trouble is with putting anything without an extension in the app/assets, you can safely move files to vendor/assets to avoid this error. For instance I recently installed third party files with bower and set their location to app/assets, but had trouble pushing to heroku. After pulling them out and into vendor/assets it worked fine. Also see: https://github.com/sstephenson/sprockets/issues/347 and https://github.com/stve/bower/pull/4/files
for the issue and resolution.
I try to deploy my app to heroku but i'm getting this error:
Invalid CSS after " height: 4em;": expected "}", was "<<<<<<< HEAD"
Is the HEAD a problem in this situation?
I validated my custom.css file in w3 but nothing is changed.
Full trace of the error like that:
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/Rakefile:7)
rake aborted!
Invalid CSS after " height: 4em;": expected "}", was "<<<<<<< HEAD"
(in /tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/app/assets/stylesheets/custom.css.orig)
(sass):1166
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:1147:in `expected'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:1083:in `expected'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:1078:in `tok!'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:535:in `block'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:528:in `ruleset'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:552:in `block_child'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:545:in `block_contents'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:82:in `stylesheet'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/scss/parser.rb:27:in `parse'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/engine.rb:342:in `_to_tree'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/engine.rb:315:in `_render'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-3.2.10/lib/sass/engine.rb:262:in `render'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/compressor.rb:12:in `compress'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/compressors.rb:74:in `compress'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/processing.rb:243:in `block in css_compressor='
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/processor.rb:29:in `call'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/processor.rb:29:in `evaluate'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/context.rb:193:in `block in evaluate'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/context.rb:190:in `each'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/context.rb:190:in `evaluate'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/bundled_asset.rb:26:in `initialize'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:252:in `new'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:252:in `build_asset'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/index.rb:93:in `block in build_asset'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/caching.rb:19:in `cache_asset'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/index.rb:92:in `build_asset'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:169:in `find_asset'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/index.rb:60:in `find_asset'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/static_compiler.rb:19:in `block in compile'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:219:in `block in each_logical_path'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:206:in `block (2 levels) in each_file'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each_entry'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:204:in `block in each_file'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each_file'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:217:in `each_logical_path'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/static_compiler.rb:18:in `compile'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/assets.rake:56:in `internal_precompile'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/assets.rake:70:in `block (3 levels) in <top (required)>'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/assets.rake:60:in `block (3 levels) in <top (required)>'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/assets.rake:23:in `invoke_or_reboot_rake_task'
/tmp/build_cb755c6e-cfb5-4008-83be-23c2f4adbe3a/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>'
Tasks: TOP => assets:precompile:primary
(See full trace by running task with --trace)
!
! Precompiling assets failed.
!
! Push rejected, failed to compile Ruby app
You appear to have a git merge conflict in your css file. Resolve the conflict, commit the changes, and try pushing again. Update: Just noticed that it is a *.orig file. Git mergetool will save a backup of the the file with the markers (like <<<<<<< HEAD etc) and append the suffix '.orig'. You should delete these before committing or if you want to keep them around for other reasons you should add *.orig to your .gitignore. See here for more information on strategies for handling mergetool backups.
This is an error in parsing the CSS file called "custom.css.orig". The .orig suffix and the "<<<<<<< HEAD" part of the error message makes me think that you have committed a merge conflict diff file by mistake. You probably didn't mean to commit that file, and if you remove it you should no longer get this error.
I'm trying to precompile my assets for production, but rails doesn't seem to be cooperating.
$ bundle exec rake assets:precompile
/home/drderp/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /home/drderp/.rvm/gems/ruby-1.9.3-p194#global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
Unexpected token punc, expected punc (line: 213, col: 13, pos: 5986)
Error
at new JS_Parse_Error (<eval>:1720:22)
at js_error (<eval>:1728:15)
at croak (<eval>:2189:17)
at token_error (<eval>:2196:17)
at expect_token (<eval>:2209:17)
at Object.expect (<eval>:2212:40)
at Object.1 (<eval>:2763:38)
at prog1 (<eval>:2770:28)
at <eval>:2560:51
at maybe_unary (<eval>:2665:27)
(in /home/drderp/projects/p/app/assets/javascripts/application.js)
Tasks: TOP => assets:precompile:primary
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/home/drderp/.rvm/rubies/ruby-1.9.3-p194/b...]
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
This is the entire contents of application.js:
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
// Since javascript, no matter what order you load it in, executes in different order, it doesn't
// matter
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
Rails version 3.2.8, running on Ruby 1.9.3.
edit:
Here's bundle exec rake assets:precompile --trace, as requested:
$ bundle exec rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/home/drderp/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /home/drderp/.rvm/gems/ruby-1.9.3-p194#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 environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
rake aborted!
Unexpected token punc, expected punc (line: 213, col: 13, pos: 5986)
Error
at new JS_Parse_Error (<eval>:1720:22)
at js_error (<eval>:1728:15)
at croak (<eval>:2189:17)
at token_error (<eval>:2196:17)
at expect_token (<eval>:2209:17)
at Object.expect (<eval>:2212:40)
at Object.1 (<eval>:2763:38)
at prog1 (<eval>:2770:28)
at <eval>:2560:51
at maybe_unary (<eval>:2665:27)
(in /home/drderp/projects/p/app/assets/javascripts/application.js)
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_racer_runtime.rb:34:in `rescue in block in eval'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_racer_runtime.rb:28:in `block in eval'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_racer_runtime.rb:80:in `block in lock'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/therubyracer-0.10.2/lib/v8/c/locker.rb:13:in `Locker'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_racer_runtime.rb:78:in `lock'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_racer_runtime.rb:27:in `eval'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_racer_runtime.rb:19:in `exec'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/uglifier-1.3.0/lib/uglifier.rb:100:in `compile'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/compressors.rb:74:in `compress'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/processing.rb:265:in `block in js_compressor='
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/processor.rb:29:in `call'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/processor.rb:29:in `evaluate'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/tilt-1.3.3/lib/tilt/template.rb:76:in `render'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/context.rb:177:in `block in evaluate'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/context.rb:174:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/context.rb:174:in `evaluate'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/bundled_asset.rb:26:in `initialize'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:244:in `new'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:244:in `build_asset'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/index.rb:89:in `block in build_asset'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/caching.rb:19:in `cache_asset'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/index.rb:88:in `build_asset'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:163:in `find_asset'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/index.rb:56:in `find_asset'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/static_compiler.rb:23:in `block in compile'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:212:in `block in each_logical_path'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:200:in `block (2 levels) in each_file'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:190:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:190:in `each_entry'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:198:in `block in each_file'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:197:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:197:in `each_file'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:210:in `each_logical_path'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/static_compiler.rb:18:in `compile'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/assets.rake:56:in `internal_precompile'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/assets.rake:70:in `block (3 levels) in <top (required)>'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/home/drderp/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/assets.rake:60:in `block (3 levels) in <top (required)>'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/home/drderp/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/bin/rake:19:in `load'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/bin/rake:19:in `<main>'
Tasks: TOP => assets:precompile:primary
rake aborted!
Command failed with status (1): [/home/drderp/.rvm/rubies/ruby-1.9.3-p194/b...]
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `sh'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `sh'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/file_utils.rb:80:in `ruby'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `ruby'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/assets.rake:12:in `ruby_rake_task'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/home/drderp/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/bin/rake:19:in `load'
/home/drderp/.rvm/gems/ruby-1.9.3-p194#global/bin/rake:19:in `<main>'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
/home/drderp/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => assets:precompile
A more universal way to find the problem in js-assets:
Run rails console and:
JS_PATH = "app/assets/javascripts/**/*.js";
Dir[JS_PATH].each do |file_name|
puts "\n#{file_name}"
puts Uglifier.compile(File.read(file_name))
end
I had this same problem. Open your Javascript console in the browser and see where there is an error. I suspect (because it was the solution to my problem), that one of your JS files has an error and it is most likely whatever JS you wrote that used a ">" symbol.
Good luck error hunting.
In my case, I was using es6 syntax ()=>{...} in js file.
Replacing it with function(){...} fixed the problem.
This was horrible; no javascript error on my local computer means that there's an issue with asset compilation.
Here's how I solved it.
As suggested in the comments for a similar question ExecJS::ProgramError: Unexpected token punc «(», expected punc «:» when running rake assets:precompile on production , I removed uglifier (in production.rb, comment out the compressor line) and compression altogether. (I had tried with other compressors; yui did not give much information. closure seemed to give me a hint but didn't help much)
I then compressed the assets locally, then I pushed to production.
(To compress locally, use RAILS_ENV=production rake assets:precompile )
I ran on the server and this is when the javascript errors surfaced. It was basically erroneous merging of files (mainly due to something commented out).
I got rid of those lines and pushed back to production. Everything succeeded.
I brought back uglifier, deleted the precompiled assets under public/assets/ and pushed back to production.
I hope this helps someone!
Just a heads up on this, I had same issue and what was happening, when precompiling assets in production environment (and pushing to Heroku) several of my JS files were being inserted with foreign characters, along the lines of...
<<<<<<<<HEAD
===========
>>>>>>(random alphanumeric key)
I just ran a global search in my site directory for "<<" and quickly found the affected files & deleted these terms - everything worked fine.
Necessary details:
For us, it was a weird little thing which leads us to actual underlying error, hence solution.
We had uglifier gem v 4.1.x and latest at the time of writing is 4.2.x we updated the uglifier version, just in case.
And what happened was that this new version actually started spitting out actual file locations where the error of compilation was happening. And when we know where the error is coming from, we fix it.
Additional details:
The actual issue was that we had some js.erb files and these files were running some rails code to populate some env data, something like:
const config = {
abc: <%= Figaro.env.abc %>,
xyz: <%= Figaro.env.xyz %>
}
And the error we were getting was: Uglifier::Error: Unexpected token: punc (,).
So it was obvious for some reason Figaro was not giving us our desired values. We went on to fix that and checked our assumption by hardcoding random values, which compiled the JS successfully.
Putting it here so it may help someone.
PS: Top answer is great, but for some reason, it gave us some random jsx related errors to us instead of giving us an actual error.
For some reason, on Heroku and also when I ran the above-mentioned code to "uglify" the javascript in the rails console, it would not report the line number of the error!.
It is just a ruby wrapper for UglifyJS, which you can use online here https://skalman.github.io/UglifyJS-online/.
So I just copied and pasted the offending js file in here, and it reported the line number. Very easy.
Verify the new JS files that you added in your application include plugins and other added by Bower or something like it.
Try add one by one to find what file have problem. In my case was in anchor-scroll.js. When I changed to use anchor-scroll.min rake runs ok.
Change this:
//= require anchor-scroll/scroll
For:
//= require anchor-scroll/scroll.min
My problem was with two success calls.
First was mqtt onSuccess:
onSuccess() {
console.log("mqtt connected")
};
that I solved with:
onSuccess: function() {
console.log("mqtt connected")
};
and the second was Ajax success. Linter will show you
Error: Expected method shorthand
but everything will work properly.
"/home/drderp/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /home/drderp/.rvm/gems/ruby-1.9.3-p194#global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets"
There's a space between the bolded portion (between ruby, the backslash, and home).
I don't know if this was a typo, but it could be your problem because Rails doesn't like spaces in directory names. Rename that folder, and try running your code again.
I'm currently working on a project that requires the ZXing gem (http://rubydoc.info/gems/zxing/0.3.1/frames) for decoding images of barcodes. In my attempts to install the gem locally, I ran into some complications with dependencies, but those were resolved by adding the ffi (http://rubygems.org/gems/ffi) and spoon (http://rubygems.org/gems/spoon) gems to my Gemfile, in addition to jruby-jars. Now, everything is working fine on my local machines (an iMac and a MacBook Pro, both running Lion). However, when I try to push the application to Heroku, the terminal hangs on the following line for several minutes:
-----> Writing config/database.yml to read from DATABASE_URL
Then finally gives me the error message:
/app/slug-compiler/lib/utils.rb:62:in `block (2 levels) in spawn': command='/app/slug-compiler/lib/../buildpacks/ruby/bin/compile /tmp/build_31wo219fllz4d /app/tmp/repo.git/.cache' exit_status=0 out='' event=timeout elapsed=581.3388702869415 (Utils::TimeoutError)
from /app/slug-compiler/lib/utils.rb:48:in `loop'
from /app/slug-compiler/lib/utils.rb:48:in `block in spawn'
from /app/slug-compiler/lib/utils.rb:44:in `popen'
from /app/slug-compiler/lib/utils.rb:44:in `spawn'
from /app/slug-compiler/lib/buildpack.rb:35:in `block in compile'
from /app/slug-compiler/lib/buildpack.rb:33:in `fork'
from /app/slug-compiler/lib/buildpack.rb:33:in `compile'
from /app/slug-compiler/lib/slug.rb:464:in `block in run_buildpack'
from /app/slug-compiler/lib/utils.rb:117:in `log'
from /app/slug-compiler/lib/slug.rb:702:in `log'
from /app/slug-compiler/lib/slug.rb:463:in `run_buildpack'
from /app/slug-compiler/lib/slug.rb:107:in `block (2 levels) in compile'
from /app/slug-compiler/lib/utils.rb:98:in `block in timeout'
from /usr/local/lib/ruby/1.9.1/timeout.rb:58:in `timeout'
from /app/slug-compiler/lib/utils.rb:98:in `rescue in timeout'
from /app/slug-compiler/lib/utils.rb:93:in `timeout'
from /app/slug-compiler/lib/slug.rb:96:in `block in compile'
from /app/slug-compiler/lib/utils.rb:117:in `log'
from /app/slug-compiler/lib/slug.rb:702:in `log'
from /app/slug-compiler/lib/slug.rb:95:in `compile'
from /app/slug-compiler/bin/slugc:85:in `block in <main>'
from /app/slug-compiler/lib/slug.rb:472:in `block in lock'
from /app/slug-compiler/lib/repo_lock.rb:44:in `call'
from /app/slug-compiler/lib/repo_lock.rb:44:in `run'
from /app/slug-compiler/lib/slug.rb:472:in `lock'
from /app/slug-compiler/bin/slugc:66:in `<main>'
! Heroku push rejected, failed to compile Ruby/rails app
To git#heroku.application-testing-account:integrating-zxing-on-heroku.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.application-testing-account:integrating-zxing-on-heroku.git'
The problem seems to be caused by the ZXing gem and/or its dependencies (ffi, spoon). If I remove zxing from my Gemfile, Heroku compiles the application and everything works fine. Upon re-adding the gem, I experience the same problems. I've also tried setting config.assets.initialize_on_precompile to both true and false in my application.rb, but to no avail. I'm kind of stumped as to what to do now.
My application is on the Cedar stack and using PostgreSQL in development and production.
Could anyone offer any suggestions?
Yeah, unfortunately you can't use anything with C++ or Java dependencies. I'm having trouble finding a QR decoder that's pure ruby (and works well).