Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.

no implicit conversion of nil into String since 1.8.0 #201

Open
sedrubal opened this issue Feb 2, 2022 · 5 comments
Open

no implicit conversion of nil into String since 1.8.0 #201

sedrubal opened this issue Feb 2, 2022 · 5 comments

Comments

@sedrubal
Copy link

sedrubal commented Feb 2, 2022

I updated to the latest version of jekyll-multiple-languages-plugin (1.8.0) and now I'm experiencing this error:

$ bundle exec jekyll build --trace
Configuration file: <website-root>/_config.yml
            Source: <website-root>
       Destination: <website-root>/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
Building site for language: "de" to: <website-root>/_site
       Jekyll Feed: Generating feed for posts
Loading translation from file <website-root>/_i18n/de.yml
Missing i18n key: de:<omitted>
Using translation '' from default language: de
  Liquid Exception: no implicit conversion of nil into String in <website-root>/_layouts/default.html
bundler: failed to load command: jekyll (<website-root>/.bundle/ruby/3.0.0/bin/jekyll)
<website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:632:in `initialize': no implicit conversion of nil into String (TypeError)
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:632:in `initialize'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:649:in `new'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:649:in `translate'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:406:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/inclusion.rb:16:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/tags/include.rb:208:in `block in render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/tags/include.rb:206:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/renderer.rb:131:in `render_liquid'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/renderer.rb:194:in `render_layout'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/renderer.rb:163:in `place_in_layouts'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/renderer.rb:93:in `render_document'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/renderer.rb:63:in `run'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:547:in `render_regenerated'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:532:in `block (2 levels) in render_docs'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:531:in `each'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:531:in `block in render_docs'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:530:in `each_value'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:530:in `render_docs'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:210:in `render'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:80:in `process'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:185:in `block in process'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:171:in `each'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-multiple-languages-plugin-1.8.0/lib/jekyll-multiple-languages-plugin.rb:171:in `process'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:28:in `process_site'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:65:in `build'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:36:in `process'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `each'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
        from <website-root>/.bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from <website-root>/.bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from <website-root>/.bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from <website-root>/.bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from <website-root>/.bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from <website-root>/.bundle/ruby/3.0.0/gems/jekyll-4.2.1/exe/jekyll:15:in `<top (required)>'
        from <website-root>/.bundle/ruby/3.0.0/bin/jekyll:25:in `load'
        from <website-root>/.bundle/ruby/3.0.0/bin/jekyll:25:in `<top (required)>'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `load'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `kernel_load'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:23:in `run'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli.rb:477:in `exec'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli.rb:31:in `dispatch'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli.rb:25:in `start'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/exe/bundle:49:in `block in <top (required)>'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
        from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/exe/bundle:37:in `<top (required)>'
        from /usr/bin/bundle:23:in `load'
        from /usr/bin/bundle:23:in `<main>'
$ bundle exec jekyll --version
jekyll 4.2.1

Unfortunately I don't know anything about ruby to debug this issue...
Downgrading to 1.7.0 fixes this issue for me (gem 'jekyll-multiple-languages-plugin', "<1.8.0" in Gemfile).

@obilodeau
Copy link

Same problem here. Thanks for the workaround @sedrubal!

@GautierDig
Copy link

Same issue here

@team-community
Copy link

In my case, it's obviously related to jekyll paginate v2. Because when generating "Page 2", this plugin thinks that there is a empty string.
Version 1.7.0 works.

@s-gbz
Copy link

s-gbz commented Jun 10, 2022

Downgrading to 1.7.0 fixes this issue for me (gem 'jekyll-multiple-languages-plugin', "<1.8.0" in Gemfile).

Thanks a lot for the quick-solution!

@figgles
Copy link
Contributor

figgles commented Aug 3, 2023

Missing i18n key: de:<omitted>
Using translation '' from default language: de
Liquid Exception: no implicit conversion of nil into String in 

This message is what you see when a string is missing from the default language. There is no check to see if the lookup from the default language (which could be the same as the current language) gives nil. This should probably display a warning that there is no translation but not crash or give a cryptic error message like this.

ianwestcott added a commit to providenceurbanistnetwork/providenceurbanistnetwork.github.io that referenced this issue Jan 14, 2024
"Liquid Exception: no implicit conversion of nil into String"
kurtsson/jekyll-multiple-languages-plugin#201
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants