2017-10-16 81 views
0

突然間,我遇到一個錯誤,我無法調試。Jekyll錯誤:無效賦值

JS_Parse_Error.get ((execjs):3538:621): SyntaxError: Invalid assignment (ExecJS::RuntimeError) 
from (execjs):4060:47 
from (execjs):1:102 
from Object.<anonymous> ((execjs):1:120) 
from Module._compile (module.js:569:30) 
from Object.Module._extensions..js (module.js:580:10) 
from Module.load (module.js:503:32) 
from tryModuleLoad (module.js:466:12) 
from Function.Module._load (module.js:458:3) 
from Function.Module.runMain (module.js:605:10) 
from /usr/local/lib/ruby/gems/2.4.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:39:in `exec' 
from /usr/local/lib/ruby/gems/2.4.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:21:in `eval' 
from /usr/local/lib/ruby/gems/2.4.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:46:in `call' 
from /usr/local/lib/ruby/gems/2.4.0/gems/uglifier-3.2.0/lib/uglifier.rb:195:in `run_uglifyjs' 
from /usr/local/lib/ruby/gems/2.4.0/gems/uglifier-3.2.0/lib/uglifier.rb:157:in `compile' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-minifier-0.1.5/lib/jekyll-minifier.rb:53:in `output_js' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-minifier-0.1.5/lib/jekyll-minifier.rb:123:in `write' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:212:in `block in write' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:333:in `block (2 levels) in each_site_file' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:332:in `each' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:332:in `block in each_site_file' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:331:in `each' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:331:in `each_site_file' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:211:in `write' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/site.rb:75:in `process' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/command.rb:26:in `process_site' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/commands/build.rb:63:in `build' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/commands/build.rb:34:in `process' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/commands/serve.rb:40:in `block (3 levels) in init_with_program' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/commands/serve.rb:40:in `each' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/lib/jekyll/commands/serve.rb:40:in `block (2 levels) in init_with_program' 
from /usr/local/lib/ruby/gems/2.4.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute' 
from /usr/local/lib/ruby/gems/2.4.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each' 
from /usr/local/lib/ruby/gems/2.4.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute' 
from /usr/local/lib/ruby/gems/2.4.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go' 
from /usr/local/lib/ruby/gems/2.4.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program' 
from /usr/local/lib/ruby/gems/2.4.0/gems/jekyll-3.5.2/exe/jekyll:13:in `<top (required)>' 
from /usr/local/bin/jekyll:22:in `load' 
from /usr/local/bin/jekyll:22:in `<main>' 

我想知道是否解決了這個錯誤?

更新:

我已經更新了一路上的庫。這裏來自Gemfile.lock的GIT diff

- addressable (2.5.1) 
    - public_suffix (~> 2.0, >= 2.0.2) 
    + addressable (2.5.2) 
    + public_suffix (>= 2.0.2, < 4.0) 
    - jekyll (3.5.0) 
    + jekyll (3.5.2) 
    - jekyll-minifier (0.1.4) 
    + jekyll-minifier (0.1.5) 
    - kramdown (1.14.0) 
    + kramdown (1.15.0) 
    - pathutil (0.14.0) 
    + pathutil (0.16.0) 
    - public_suffix (2.0.5) 
    + public_suffix (3.0.0) 
    - sass (3.5.1) 
    + sass (3.5.2) 
    - jekyll (= 3.5) 
    + jekyll (= 3.5.2) 

BUNDLED WITH 
    - 1.14.6 
    + 1.15.4 

我想知道更新是否出了問題?

+0

你的項目中的任何地方都有JavaScript嗎?並且是版本控制下的項目(例如使用Git)? – Ryan

+0

是的,我有幾個JS庫(JQuery,Bootstrap等)和項目是在版本控制(GIT) –

+0

你可以使用Git來比較最後一個工作版本與破壞版本併發布差異? – Ryan

回答

2

爲了防止其他人得到相同的錯誤,我在項目的根目錄中有一個test.js文件,我在其中使用一些JS函數。內容看起來像這樣:

const applyOffset = (offsetX, offsetY) => { 
    let counterX = 0 
    let counterY = 0 
    $(".blogPost").each((key, value) => { 
    let offsetXTotal = offsetX * counterX 
    let offsetYTotal = offsetY * counterY 
    // change the transform value 
    $("#" + value.id).css({ 
     transform: "translate3d(" + offsetXTotal + "px," + offsetYTotal + "px, 0)" 
    }) 
    if(counterX < 2) { 
     counterX++ 
    } else { 
     counterX = 0 
     counterY++ 
    } 
    }) 
} 

此文件導致Jekyll的編譯器引發異常。刪除此文件後,我能夠啓動服務器。

@Rian對他的第一個問題是否正確,我是否有JS文件。

另一個教訓!

+0

您也可以將它添加到'_config.yml'中的'exclude' – cpury