Issue Building with Jekyll 4 in Ubuntu 19.04

Hi all,

I have recently attempted to create a new site to test a local jekyll setup. The directory creation went fine and jekyll can build the web directory without an issue. However, if I try to build or serve I get the following trace:

jekyll build --trace
Configuration file: /home/danroth/Documents/myblog/_config.yml
Source: /home/danroth/Documents/myblog
Destination: /home/danroth/Documents/myblog/_site
Incremental build: disabled. Enable with --incremental
Generating…
Liquid Exception: uninitialized constant Kramdown::Utils::OrderedHash in feed.xml
Traceback (most recent call last):
81: from /home/danroth/gems/bin/jekyll:23:in <main>' 80: from /home/danroth/gems/bin/jekyll:23:in load’
79: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/exe/jekyll:15:in <top (required)>' 78: from /usr/lib/ruby/vendor_ruby/mercenary.rb:19:in program’
77: from /usr/lib/ruby/vendor_ruby/mercenary/program.rb:42:in go' 76: from /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in execute’
75: from /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in each' 74: from /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in block in execute’
73: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:18:in block (2 levels) in init_with_program' 72: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in process_with_graceful_fail’
71: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in each' 70: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in block in process_with_graceful_fail’
69: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:36:in process' 68: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:65:in build’
67: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/command.rb:28:in process_site' 66: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/site.rb:75:in process’
65: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/site.rb:183:in generate' 64: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/site.rb:183:in each’
63: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/site.rb:185:in block in generate' 62: from /usr/lib/ruby/vendor_ruby/jekyll-feed.rb:55:in generate’
61: from /usr/lib/ruby/vendor_ruby/jekyll-feed.rb:78:in write' 60: from /usr/lib/ruby/vendor_ruby/jekyll-feed.rb:78:in open’
59: from /usr/lib/ruby/vendor_ruby/jekyll-feed.rb:78:in block in write' 58: from /usr/lib/ruby/vendor_ruby/jekyll-feed.rb:85:in feed_content’
57: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/page.rb:136:in render' 56: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/convertible.rb:210:in do_layout’
55: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/renderer.rb:63:in run' 54: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/renderer.rb:80:in render_document’
53: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/renderer.rb:127:in render_liquid' 52: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:32:in render!’
51: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:60:in measure_time' 50: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:33:in block in render!’
49: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:53:in measure_bytes' 48: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:34:in block (2 levels) in render!’
47: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:49:in measure_counts' 46: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/liquid_renderer/file.rb:35:in block (3 levels) in render!’
45: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in render!' 44: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in render’
43: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in with_profiling' 42: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in block in render’
41: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:in render' 40: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in render_node_to_output’
39: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/for.rb:79:in render' 38: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/for.rb:150:in render_segment’
37: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in stack' 36: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/for.rb:158:in block in render_segment’
35: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/for.rb:158:in each' 34: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/for.rb:160:in block (2 levels) in render_segment’
33: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:in render' 32: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in render_node_to_output’
31: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:43:in render' 30: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in stack’
29: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in block in render' 28: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in each’
27: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:46:in block (2 levels) in render' 26: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:80:in render’
25: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in render_node_to_output' 24: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in render’
23: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in inject' 22: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/variable.rb:82:in each’
21: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/variable.rb:84:in block in render' 20: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/context.rb:86:in invoke’
19: from /var/lib/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/strainer.rb:56:in invoke' 18: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/filters.rb:19:in markdownify’
17: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/converters/markdown.rb:85:in convert' 16: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/cache.rb:108:in getset’
15: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/cache.rb:111:in rescue in getset' 14: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/converters/markdown.rb:86:in block in convert’
13: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/converters/markdown/kramdown_parser.rb:40:in convert' 12: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/converters/markdown/kramdown_parser.rb:40:in new’
11: from /var/lib/gems/2.5.0/gems/kramdown-2.1.0/lib/kramdown/document.rb:102:in initialize' 10: from /usr/lib/ruby/vendor_ruby/kramdown/parser/base.rb:69:in parse’
9: from /var/lib/gems/2.5.0/gems/kramdown-parser-gfm-1.1.0/lib/kramdown/parser/gfm.rb:56:in parse' 8: from /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:89:in parse’
7: from /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:144:in parse_blocks' 6: from /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:144:in catch’
5: from /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:146:in block in parse_blocks' 4: from /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:146:in any?’
3: from /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown.rb:148:in block (2 levels) in parse_blocks' 2: from /usr/lib/ruby/vendor_ruby/kramdown/parser/kramdown/html.rb:83:in parse_block_html’
1: from /usr/lib/ruby/vendor_ruby/kramdown/parser/html.rb:89:in handle_html_start_tag' /usr/lib/ruby/vendor_ruby/kramdown/parser/html.rb:113:in parse_html_attributes’: uninitialized constant Kramdown::Utils::OrderedHash (NameError)

Should I reinstall and try again? Not sure what may be going on here as I’m quite new to Ruby and Jekyll. Thanks!

Did you by any chance use sudo while installing Jekyll or other gems?

The paths are oddly all over the place. Jekyll and Liquid are installed within /var/lib/gems/2.5.0/gems/. But kramdown, Mercenary and some other gems are loaded from path /usr/lib/ruby/vendor_ruby/.

Have you tried running bundle exec jekyll serve instead of just jekyll serve. If there’s a Gemfile at the root of your source, it is always better to use bundle exec ..