Сбой сборки Jekyll 4.0 с NoMethodError - PullRequest
0 голосов
/ 17 октября 2019

После обновления до Jekyll 4.0 все сборки завершаются с ошибкой:

/Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/static_file.rb:148:in `cleaned_relative_path': undefined method `length' for nil:NilClass (NoMethodError)

Я обновил драгоценные камни, Jekyll, Bundler и все драгоценные камни, используемые в проекте. Единственный плагин, который я использую - jekyll-minimagick, но удаление этого плагина не решает проблему. Вот полная трассировка сборки

dauntless:my-site me$ bundle exec jekyll build --trace
Configuration file: /Users/me/Development/my-site/_config.yml
            Source: /Users/me/Development/my-site
       Destination: /Users/me/Development/my-site/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
Traceback (most recent call last):
    32: from /Users/me/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `<main>'
    31: from /Users/me/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `eval'
    30: from /Users/me/.rvm/gems/ruby-2.6.3/bin/jekyll:23:in `<main>'
    29: from /Users/me/.rvm/gems/ruby-2.6.3/bin/jekyll:23:in `load'
    28: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/exe/jekyll:15:in `<top (required)>'
    27: from /Users/me/.rvm/gems/ruby-2.6.3/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
    26: from /Users/me/.rvm/gems/ruby-2.6.3/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
    25: from /Users/me/.rvm/gems/ruby-2.6.3/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
    24: from /Users/me/.rvm/gems/ruby-2.6.3/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
    23: from /Users/me/.rvm/gems/ruby-2.6.3/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
    22: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
    21: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in `process_with_graceful_fail'
    20: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in `each'
    19: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in `block in process_with_graceful_fail'
    18: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:36:in `process'
    17: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:65:in `build'
    16: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/command.rb:28:in `process_site'
    15: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:77:in `process'
    14: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:211:in `cleanup'
    13: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/cleaner.rb:15:in `cleanup!'
    12: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/cleaner.rb:25:in `obsolete_files'
    11: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/cleaner.rb:59:in `new_files'
    10: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/cleaner.rb:59:in `tap'
     9: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/cleaner.rb:60:in `block in new_files'
     8: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:342:in `each_site_file'
     7: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:342:in `each'
     6: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:343:in `block in each_site_file'
     5: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:343:in `each'
     4: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:344:in `block (2 levels) in each_site_file'
     3: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/cleaner.rb:60:in `block (2 levels) in new_files'
     2: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/static_file.rb:58:in `destination'
     1: from /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/static_file.rb:161:in `url'
/Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/static_file.rb:148:in `cleaned_relative_path': undefined method `length' for nil:NilClass (NoMethodError)

1 Ответ

1 голос
/ 17 октября 2019

jekyll-minimagic не обновлялся с 2016 года.

, но удаление этого плагина не решает проблему

Вы уверены, что удалили этоплагин полностью или в каталоге _plugins нет ничего другого?

Простого удаления плагина из файла конфигурации может быть недостаточно.
Если вы указали плагин под :jekyll_plugins группа в вашем Gemfile, которая может автоматически загрузить плагин.

...