【发布时间】:2014-07-13 07:25:26
【问题描述】:
我正在尝试在 heroku 上更新我的应用,但出现错误。在本地一切正常,过去推送也没有问题。
这是我在终端收到的错误输出:
Running: rake assets:precompile
I, [2014-05-23T19:57:06.803597 #1447] INFO -- : Writing /tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/public/assets/Rave-76af238e2f8042f0df74239e340676aa.jpg
I, [2014-05-23T19:57:06.805675 #1447] INFO -- : Writing /tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/public/assets/social-dccb3b82dfc09e0f163a4ae48f971508.png
I, [2014-05-23T19:57:06.810665 #1447] INFO -- : Writing /tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/public/assets/tables-a706161a3475c7eb419119162d0da280.jpg
rake aborted!
ExecJS::ProgramError: Unexpected token: string (formatCardNumber) (line: 13889, col: 33, pos: 390151)
Error
at new JS_Parse_Error (/tmp/execjs20140523-1447-8yjrbp.js:2357:10754)
at js_error (/tmp/execjs20140523-1447-8yjrbp.js:2357:10973)
at croak (/tmp/execjs20140523-1447-8yjrbp.js:2357:19198)
at token_error (/tmp/execjs20140523-1447-8yjrbp.js:2357:19335)
at unexpected (/tmp/execjs20140523-1447-8yjrbp.js:2357:19423)
at semicolon (/tmp/execjs20140523-1447-8yjrbp.js:2357:19896)
at simple_statement (/tmp/execjs20140523-1447-8yjrbp.js:2357:22669)
at /tmp/execjs20140523-1447-8yjrbp.js:2357:20665
at /tmp/execjs20140523-1447-8yjrbp.js:2357:20069
at block_ (/tmp/execjs20140523-1447-8yjrbp.js:2357:24688)
(in /tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/app/assets/javascripts/application.js)/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/execjs-2.0.2/lib/execjs/external_runtime.rb:68:in `extract_result'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/execjs-2.0.2/lib/execjs/external_runtime.rb:28:in `block in exec'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/execjs-2.0.2/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/execjs-2.0.2/lib/execjs/external_runtime.rb:27:in `exec'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/uglifier-2.5.0/lib/uglifier.rb:186:in `really_compile'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/uglifier-2.5.0/lib/uglifier.rb:110:in `compile'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/uglifier_compressor.rb:25:in `evaluate'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:197:in `block in evaluate'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `each'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `evaluate'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/bundled_asset.rb:25:in `initialize'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `new'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `build_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:211:in `block in find_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:257:in `benchmark'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:210:in `find_asset'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:119:in `block in compile'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `each'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `compile'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.0.1/lib/sprockets/rails/task.rb:60:in `block (3 levels) in define'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/rake/sprocketstask.rb:146:in `with_logger'
/tmp/build_9c1d18a8-5bbf-41e8-ad98-48e938516c9f/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.0.1/lib/sprockets/rails/task.rb:59:in `block (2 levels) in define'
我很好奇这是否与我的 payment.js 文件有关。这是我的应用程序中唯一引用“FormatCardNumber”的地方。 heroku 没有消化这个 Jquery 吗?
【问题讨论】:
-
您是否尝试过在本地编译资产?
RAILS_ENV=production bundle exec rake assets:precompile,提交文件然后推送到heroku -
它成功了,但我的图片都没有被移动到网站上(背景和徽标)——我该如何移动它们?
-
它们也应该被自动编译。您是否将它们存储在 app/assets/images 以外的地方?
-
签出:guides.rubyonrails.org/asset_pipeline.html 特别是第 2.3 节。确保通过检查公用文件夹来编译图像并且正确调用它们。
标签: jquery ruby-on-rails heroku stripe-payments