Jekyll 4.0版本使用NoMethodError失败
升级到Jekyll 4.0后,所有生成都会失败,并出现以下错误: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
/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
中删除了插件,问题仍然存在。