Jekyll 4.0版本使用NoMethodError失败

Jekyll 4.0版本使用NoMethodError失败,jekyll,Jekyll,升级到Jekyll 4.0后,所有生成都会失败,并出现以下错误: /Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/static\u file.rb:148:in'cleaned\u relative\u path':未定义nil的方法'length':NilClass(NoMethodError) 我已经更新了gems、Jekyll、Bundler以及项目中使用的所有gems。我使用的唯一插件是jekyll minimagi

升级到Jekyll 4.0后,所有生成都会失败,并出现以下错误:

/Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/static\u file.rb:148:in'cleaned\u relative\u path':未定义nil的方法'length':NilClass(NoMethodError)

我已经更新了gems、Jekyll、Bundler以及项目中使用的所有gems。我使用的唯一插件是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)
无畏:我的站点me$bundle exec jekyll build——跟踪 配置文件:/Users/me/Development/my site/_config.yml 来源:/Users/me/Development/my site 目的地:/Users/me/Development/my site/\u site 增量生成:已禁用。使用--incremental启用 生成。。。 回溯(最近一次呼叫最后一次): 32:from/Users/me/.rvm/gems/ruby-2.6.3/bin/ruby\u executable\u hooks:24:in`' 31:from/Users/me/.rvm/gems/ruby-2.6.3/bin/ruby\u executable\u hooks:24:in'eval' 30:from/Users/me/.rvm/gems/ruby-2.6.3/bin/jekyll:23:in`' 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`' 27:from/Users/me/.rvm/gems/ruby-2.6.3/gems/雇佣军-0.3.6/lib/雇佣军。rb:19:in“程序” 26:from/Users/me/.rvm/gems/ruby-2.6.3/gems/雇佣军-0.3.6/lib/雇佣军/program.rb:42:in'go' 25:from/Users/me/.rvm/gems/ruby-2.6.3/gems/雇佣军-0.3.6/lib/雇佣军/command.rb:220:in'execute' 24:from/Users/me/.rvm/gems/ruby-2.6.3/gems/雇佣军-0.3.6/lib/雇佣军/command.rb:220:in'each' 23:from/Users/me/.rvm/gems/ruby-2.6.3/gems/雇佣军-0.3.6/lib/雇佣军/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层)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'u with'u优雅'u失败' 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\u with\u-graceful\u-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\u site' 15:from/Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/site.rb:77:in“进程中” 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“过时的文件” 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 `每个站点文件中的块(2个级别)' 3:from/Users/me/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll/cleaner.rb:60:in`block(2层)in new_文件' 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”:未定义nil:NilClass的方法“length”(NoMethodError)
jekyll minimagic
自2016年以来从未更新过

但是删除这个插件并不能解决这个问题

您确定已完全删除此插件,还是在
\u plugins
目录中没有其他插件

仅仅从配置文件中删除插件可能是不够的。
如果您在
Gemfile
中的
:jekyll_plugins
组下列出了插件,则可以自动加载插件。

我也遇到了这个问题

将此分支添加到您的文件:

gem“jekyll Minimagik”,github:“benubois/jekyll Minimagik”,分支:“patch-1”


这是我发现的唯一一个添加Jekyll 4新要求的变量的分支。

是否有一个公共存储库,我可以克隆和复制此问题?。我从配置文件和我的
Gemfile
中删除了插件,问题仍然存在。