2016-10-01 57 views
2

這裏是一個相當新的rails開發人員。我試圖在Heroku上有效地部署我的rails應用程序時遇到了此錯誤消息。我的猜測是JS資源預編譯時會遇到一些語法錯誤。ExecJS :: RuntimeError:SyntaxError:意外的標記:運算符(>)(行:22342,col:24,pos:826182)

我在SO上發現了一個類似的問題here,但它似乎仍然沒有解決,並且我嘗試了所有響應中的建議。

任何幫助表示讚賞。這裏是我的問題的命令行跟蹤:

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 <class:Railtie>' 
/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 `<class:Group>' 
/app/app/models/group.rb:1:in `<top (required)>' 
/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 `<top (required)>' 
/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 <top (required)>' 
/app/vendor/bundle/ruby/2.2.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>' 
Tasks: TOP => db:seed 
(See full trace by running task with --trace) 
+0

當你的coffeescript無效時,你可以得到這種exec js錯誤,你確定它在開發中嗎? –

+0

感謝您的迴應 - 我沒有運行coffeescript。我只是有一些jQuery和反應組件。肯定本地運行良好。我在試圖在heroku中種子時遇到問題,我相信這是在生產環境中運行的? –

回答

2

我有這個相同的問題,原來我正在使用ES6箭頭功能。問題是,我的生產環境使用的Sprockets版本與ES6不兼容。

我當時的解決方案是刪除箭頭功能。另一種方法是使用類似sprockets-es6sprockets的測試版本之一。

+0

我在Rails 4項目中也使用了ES6語法。我嘗試了鏈輪-es6,但這並沒有幫助。正如在這個答案中所建議的,我必須更新我的Gemfile並重新生成我的Gemfile.lock以使用測試版的鏈輪:gem'sprockets','〜> 4.0.0.beta4' – wondersz1