Jekyll错误:分配无效

时间:2017-10-16 01:01:23

标签: 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>'

我想知道是否已经解决了这个错误?

更新:

我已经更新了libs。这里是来自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

我想知道更新是否出现问题?

1 个答案:

答案 0 :(得分:3)

为了防止其他人得到同样的错误,我在项目的根目录中有一个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文件。

吸取了另一个教训!