New install jekyll 4.0.0 on ubuntu 19.04 gives error

I am a bit of a newby with Jekyll. I was able to install Jekyll using the default documentation, creating a new site works fine, but serving goes wrong. And I cannot find anything on Google about this error:

bundle exec jekyll serve --trace
Configuration file: /home/ronnie/quixot/_config.yml
Source: /home/ronnie/quixot
Destination: /home/ronnie/quixot/_site
Incremental build: disabled. Enable with --incremental
Generating…
Liquid Exception: uninitialized constant Kramdown::Utils::OrderedHash in feed.xml
bundler: failed to load command: jekyll (/home/ronnie/gems/bin/jekyll)
NameError: uninitialized constant Kramdown::Utils::OrderedHash
/usr/lib/ruby/vendor_ruby/kramdown/parser/html.rb:113:in parse_html_attributes' /usr/lib/ruby/vendor_ruby/kramdown/parser/html.rb:89:inhandle_html_start_tag’
/usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown/html.rb:83:in parse_block_html' /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:148:inblock (2 levels) in parse_blocks’
/usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:146:in any?' /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:146:inblock in parse_blocks’
/usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:144:in catch' /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:144:inparse_blocks’
/usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:89:in parse' /home/ronnie/gems/gems/kramdown-parser-gfm-1.1.0/lib/kramdown/parser/gfm.rb:56:inparse’
/usr/lib/ruby/vendor_ruby/kramdown/parser/base.rb:69:in parse' /home/ronnie/gems/gems/kramdown-2.1.0/lib/kramdown/document.rb:102:ininitialize’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/converters/markdown/kramdown_parser.rb:40:in new' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/converters/markdown/kramdown_parser.rb:40:inconvert’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/converters/markdown.rb:86:in block in convert' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/cache.rb:111:inrescue in getset’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/cache.rb:108:in getset' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/converters/markdown.rb:85:inconvert’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/filters.rb:19:in markdownify' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/strainer.rb:56:ininvoke’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/context.rb:86:in invoke' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/variable.rb:84:inblock in render’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in each' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/variable.rb:82:ininject’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in render' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:inrender_node_to_output’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/block_body.rb:80:in render' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/if.rb:46:inblock (2 levels) in render’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in each' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:inblock in render’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/context.rb:123:in stack' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/if.rb:43:inrender’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in render_node_to_output' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:inrender’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/for.rb:160:in block (2 levels) in render_segment' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/for.rb:158:ineach’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/for.rb:158:in block in render_segment' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/context.rb:123:instack’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/for.rb:150:in render_segment' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/tags/for.rb:79:inrender’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in render_node_to_output' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:inrender’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/template.rb:208:in block in render' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/template.rb:242:inwith_profiling’
/home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/template.rb:207:in render' /home/ronnie/gems/gems/liquid-4.0.3/lib/liquid/template.rb:220:inrender!’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:35:in block (3 levels) in render!' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:49:inmeasure_counts’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:34:in block (2 levels) in render!' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:53:inmeasure_bytes’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:33:in block in render!' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:60:inmeasure_time’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:32:in render!' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/renderer.rb:127:inrender_liquid’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/renderer.rb:80:in render_document' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/renderer.rb:63:inrun’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/convertible.rb:210:in do_layout' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/page.rb:136:inrender’
/usr/lib/ruby/vendor_ruby/jekyll-feed.rb:85:in feed_content' /usr/lib/ruby/vendor_ruby/jekyll-feed.rb:78:inblock in write’
/usr/lib/ruby/vendor_ruby/jekyll-feed.rb:78:in open' /usr/lib/ruby/vendor_ruby/jekyll-feed.rb:78:inwrite’
/usr/lib/ruby/vendor_ruby/jekyll-feed.rb:55:in generate' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/site.rb:185:inblock in generate’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/site.rb:183:in each' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/site.rb:183:ingenerate’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/site.rb:75:in process' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/command.rb:28:inprocess_site’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:65:in build' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:36:inprocess’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in block in process_with_graceful_fail' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:ineach’
/home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in process_with_graceful_fail' /home/ronnie/gems/gems/jekyll-4.0.0/lib/jekyll/commands/serve.rb:86:inblock (2 levels) in init_with_program’
/usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in block in execute' /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:ineach’
/usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in execute' /usr/lib/ruby/vendor_ruby/mercenary/program.rb:42:ingo’
/usr/lib/ruby/vendor_ruby/mercenary.rb:19:in program' /home/ronnie/gems/gems/jekyll-4.0.0/exe/jekyll:15:in<top (required)>’
/home/ronnie/gems/bin/jekyll:23:in load' /home/ronnie/gems/bin/jekyll:23:in<top (required)>’

Any help would be appreciated…

1 Like

Looks like it’s having trouble with feed.xml

If you’re using a plugin to generate that I’d make sure it’s up to date with Jekyll 4. If you’re rolling your own perhaps there’s some offending Liquid in there.

ronnie, I share your pain. Got the same frustration after upgrading to 4.0. Nothing was working anymore. I had to downgrade but I’ll have to dive into it one of these days and fix it all too :-/

I had the same issue. A hint as to what’s going on is that some gems are being loaded from your home directory (/home/ronnie/gems) while others, in particular kramdown, are loaded from /usr/lib/ruby/vendor_ruby, which contains “customizations provided by the OS vendor” (https://stackoverflow.com/a/26974928/1224002). The trouble is, these “customizations” are in this case for an older, pre-2.0.0 version of Kramdown! Kramdown 2.0.0 removed the OrderedHash function.

One solution, which worked for me, is simply to remove the /usr/lib/ruby/vendor_ruby directory. Caveat emptor.

1 Like

I just wanted to say thanks to you.

I’m a new user and was struggling why my Jekyll install would not parse any markdown! while rolling back to Jekyll 3.x was working fine.

removing /usr/lib/ruby/vendor_ruby did it for me. (on ubuntu 18.04)

So thank you very much for sharing!