Jekyll SystemStackErorr与github页面一起使用时“堆栈级别太深”

时间:2018-09-04 09:41:36

标签: jekyll github-pages

我无法在本地提供jekyll网站,当我提交到GitHub时,我收到通知GitHub页面存在问题。

bundle exec jekyll -v                                         11:28:34
jekyll 3.7.3

ruby --version                                                11:28:42
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

当我跑步时:

bundle exec jekyll serve

将会失败并吐出数百个(更像thousnads)以以下内容开头的错误消息:

bundler: failed to load command: jekyll (/usr/local/bin/jekyll)
SystemStackError: stack level too deep
  /usr/local/lib/ruby/gems/2.5.0/gems/kramdown-1.17.0/lib/kramdown/parser/base.rb:106:in `new'
  /usr/local/lib/ruby/gems/2.5.0/gems/kramdown-1.17.0/lib/kramdown/parser/base.rb:106:in `add_text'
  /usr/local/lib/ruby/gems/2.5.0/gems/kramdown-1.17.0/lib/kramdown/parser/html.rb:171:in `parse_raw_html'
  /usr/local/lib/ruby/gems/2.5.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown/html.rb:60:in `handle_kramdown_html_tag'

据我所知,如果您使用jekyll serve而不是bundle exec jekyll serve,并且您的jekyll版本与github页面所需的版本不匹配,有时可能会发生这种情况,但是这里我确实使用了bundle exec,所以使用了正确的jekyll版本。

如果我尝试使用jekyll new blah创建一个新站点,并且可以在本地为该站点提供服务而没有问题,jekyll本身就可以工作,但是jekyll和github页面的组合给我带来了悲伤。

我很困惑,不知道如何进行。

所有这些都在Mac OS X 10.13.6上实现。

1 个答案:

答案 0 :(得分:0)

这里与问题的原始原因无关,但我偶然发现了这个错误,并出现了错误stack level too deep。所以我想这可能会对某人有所帮助。

我将问题追究到在最前面的某个Yaml词典中名为max的字段。也许您在jekyll中命名了一个具有特殊含义的字段。