ExecJS :: RuntimeError:SyntaxError:意外的标记:operator(>)(行:22342,col:24,pos:826182)

相当新的rails开发者在这里。 我试图在Heroku上有效地部署我的rails应用程序时遇到此错误消息。 我的猜测是,当JS资产预编译时会遇到一些语法错误。

我在SO上发现了一个类似的问题,但它似乎仍未解决,我已经尝试了回复中的所有建议。

任何帮助表示赞赏。 这是我的问题的命令行跟踪:

ExecJS::RuntimeError: SyntaxError: Unexpected token: operator (>) (line: 22342, col: 24, pos: 826182) Error at new JS_Parse_Error (/tmp/execjs20161001-3-1oidjycjs:3623:11948) at js_error (/tmp/execjs20161001-3-1oidjycjs:3623:12167) at croak (/tmp/execjs20161001-3-1oidjycjs:3623:22038) at token_error (/tmp/execjs20161001-3-1oidjycjs:3623:22175) at unexpected (/tmp/execjs20161001-3-1oidjycjs:3623:22263) at expr_atom (/tmp/execjs20161001-3-1oidjycjs:3623:31244) at maybe_unary (/tmp/execjs20161001-3-1oidjycjs:3624:1752) at expr_ops (/tmp/execjs20161001-3-1oidjycjs:3624:2523) at maybe_conditional (/tmp/execjs20161001-3-1oidjycjs:3624:2615) at maybe_assign (/tmp/execjs20161001-3-1oidjycjs:3624:3058) at maybe_assign (/tmp/execjs20161001-3-1oidjycjs:3624:3232) at expression (/tmp/execjs20161001-3-1oidjycjs:3624:3384) at expr_list (/tmp/execjs20161001-3-1oidjycjs:3623:31548) at subscripts (/tmp/execjs20161001-3-1oidjycjs:3624:1461) new JS_Parse_Error ((execjs):3623:11948) js_error ((execjs):3623:12167) croak ((execjs):3623:22038) token_error ((execjs):3623:22175) unexpected ((execjs):3623:22263) expr_atom ((execjs):3623:31244) maybe_unary ((execjs):3624:1752) expr_ops ((execjs):3624:2523) maybe_conditional ((execjs):3624:2615) maybe_assign ((execjs):3624:3058) maybe_assign ((execjs):3624:3232) expression ((execjs):3624:3384) expr_list ((execjs):3623:31548) subscripts ((execjs):3624:1461) /app/vendor/bundle/ruby/2.2.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:39:in `exec' /app/vendor/bundle/ruby/2.2.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:21:in `eval' /app/vendor/bundle/ruby/2.2.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:46:in `call' /app/vendor/bundle/ruby/2.2.0/gems/uglifier-3.0.2/lib/uglifier.rb:181:in `run_uglifyjs' /app/vendor/bundle/ruby/2.2.0/gems/uglifier-3.0.2/lib/uglifier.rb:143:in `compile' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/uglifier_compressor.rb:52:in `call' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/uglifier_compressor.rb:28:in `call' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:75:in `call_processor' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:57:in `block in call_processors' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:in `reverse_each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:in `call_processors' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:134:in `load_from_unloaded' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:60:in `block in load' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:44:in `load' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:20:in `block in initialize' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:in `yield' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:in `load' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/base.rb:66:in `find_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/base.rb:73:in `find_all_linked_assets' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/manifest.rb:142:in `block in find' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:114:in `block (2 levels) in logical_paths' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:228:in `block in stat_tree' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:212:in `block in stat_directory' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:in `stat_directory' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:227:in `stat_tree' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:105:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:105:in `block in logical_paths' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:104:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:104:in `logical_paths' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/manifest.rb:140:in `find' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:50:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:50:in `map' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:50:in `precompiled_assets' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:35:in `asset_precompiled?' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:251:in `block (3 levels) in ' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:359:in `call' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:359:in `precompiled?' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:363:in `raise_unless_precompiled_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:337:in `digest_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:325:in `asset_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:102:in `block in resolve_asset_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:242:in `block in resolve_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:241:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:241:in `detect' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:241:in `resolve_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:101:in `resolve_asset_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:79:in `compute_asset_path' /app/vendor/bundle/ruby/2.2.0/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_url_helper.rb:144:in `asset_path' /app/app/models/group.rb:11:in `' /app/app/models/group.rb:1:in `' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:380:in `block in require_or_load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:37:in `block in load_interlock' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies/interlock.rb:12:in `block in loading' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/concurrency/share_lock.rb:117:in `exclusive' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies/interlock.rb:11:in `loading' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:37:in `load_interlock' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:358:in `require_or_load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:511:in `load_missing_constant' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:203:in `const_missing' /app/db/seeds.rb:7:in `' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `block in load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load' /app/vendor/bundle/ruby/2.2.0/gems/railties-5.0.0.1/lib/rails/engine.rb:549:in `load_seed' /app/vendor/bundle/ruby/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:268:in `load_seed' /app/vendor/bundle/ruby/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/railties/databases.rake:196:in `block (2 levels) in ' /app/vendor/bundle/ruby/2.2.0/gems/rake-11.3.0/exe/rake:27:in `' Tasks: TOP => db:seed (See full trace by running task with --trace) 

我遇到了同样的问题,结果发现我使用的是ES6箭头function。 问题是,我的生产环境使用的Sprockets版本与ES6不兼容。

我当时的解决方案是删除箭头function。 另一种方法是使用sprockets-es6或链轮的beta版本之一。