从 jekyll-sitemap 插件中获取错误:sitemap.xml 中 true:TrueClass 的未定义方法“获取”

Getting an error from jekyll-sitemap plugin: undefined method `fetch' for true:TrueClass in sitemap.xml

这是 Ruby 和 Jekyll 的第一个问题,如果我遗漏了一些重要的细节,请原谅我。

我正在尝试使用 bundle exec jekyll serve 生成我的静态站点,但我不断收到以下错误消息:

  Liquid Exception: undefined method `fetch' for true:TrueClass in sitemap.xml

编辑: 问题是我在 _config.yml.

的 collections 配置中有 deleted/modified 东西

应该是

collections:
  my_collection:
    output: true

...但只是

collections:
      output: true

不确定它是否一直如此,或者我是否以某种方式对其进行了修改。检查你的 _config.yml!

我已经测试了 gem,没有出现任何错误。

_config.yml

plugins:
  - jekyll-sitemap

collections_dir: my_collections

collections:
  books:
    output: true

宝石文件

source 'https://rubygems.org' do 
  gem "jekyll"
  gem 'jekyll-sitemap'
end

book.md 在 my_collections\books

---
title: first book
---

first book

结果sitemap.xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://localhost:4000/books/book/</loc>
</url>
<url>
<loc>http://localhost:4000/</loc>
</url>
</urlset>

正如我在上面的评论中所说,我假设您的 _config.yml 文件中的集合配置存在问题。此外,official plugin page.

中列出了一些已知问题