macOS Monterey (12.3) 上的 Jekyll 问题

Jekyll issue(s) on macOS Monterey (12.3)

我最近升级到 macOS 12.3,这破坏了我的 jekyll 网站。当我升级后第一次尝试建立我的网站时,我的电脑(带有 Intel 芯片的 Macbook Air)会崩溃。

到目前为止,我已经升级了自制程序并解决了所有警告:

$ brew -v
Homebrew 3.4.3
Homebrew/homebrew-core (git revision 0d76941ceaf; last commit 2022-03-26)
$ brew doctor
Your system is ready to brew. 

我已经使用 rbenv 安装了 ruby 的 3.0.2 版:

$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin21]

我按照 https://jekyllrb.com/tutorials/using-jekyll-with-bundler/ 中概述的步骤创建了一个新站点,以便将其与使我的计算机崩溃的旧站点进行比较。我努力确保我的旧站点目录的内容与新站点目录相匹配。新网站建立,但当我尝试建立旧网站时出现以下错误:

$ bundle exec jekyll s -t
Generating... 
bundler: failed to load command: jekyll (/Users/hepting/Sites/dhhepting.github.io/vendor/bundle/ruby/3.0.0/bin/jekyll)
/Users/hepting/.rbenv/versions/3.0.2/lib/ruby/3.0.0/fileutils.rb:1466:in `unlink': Operation not permitted @ apply2files - /Users/hepting/Sites/dhhepting.github.io/_site/research/works (Errno::EPERM)

Jekyll 在那里:

$ /Users/hepting/Sites/dhhepting.github.io/vendor/bundle/ruby/3.0.0/bin/jekyll -v
jekyll 4.2.2

这是我旧站点的“research/works”目录:

$ ls -l research/works
total 8
drwxr-xr-x  4 hepting  staff  128 23 Oct  2018 0_nonweb
-rw-r--r--  1 hepting  staff  798 21 Jan  2020 index.md

并且此 index.md 文件包含(部分):

---
layout: w_collection
title: Collected Works
redirect_from:
  - /research/works.html
breadcrumb: Collected Works
collection: works
---

我在 _config.yml 中为 research/works 定义了以下内容。我不认为问题出在这里,因为它多年来一直运行良好。在网络上,该页面位于 http://www2.cs.uregina.ca/~hepting/research/works/

collections:
  - works

collections:
  works:
    output: true
    permalink: /research/:collection/:title:output_ext

这是我用于这两个站点的 Gemfile:

source "https://rubygems.org"

# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.

gem "jekyll", "~> 4.2.2"
gem "minima", "~> 2.5"
gem "webrick", "~> 1.7"
gem "nokogiri", '>= 1.12.5'
gem 'html-proofer', '>= 3.15.3'

group :jekyll_plugins do
   gem 'jekyll-seo-tag'
   gem 'jekyll-sitemap'
   gem 'jekyll-redirect-from'
end

我有以下内容。bundle/config:

---
BUNDLE_PATH: "vendor/bundle"

当我执行“捆绑安装”时(在旧站点目录中):

$ bundle install
Using public_suffix 4.0.6
Using addressable 2.8.0
Using bundler 2.3.10
Using colorator 1.1.0
Using concurrent-ruby 1.1.10
Using eventmachine 1.2.7
Using http_parser.rb 0.8.0
Using em-websocket 0.5.3
Using ffi 1.15.5
Using ethon 0.15.0
Using forwardable-extended 2.6.0
Using mercenary 0.4.0
Using mini_portile2 2.8.0
Using racc 1.6.0
Using nokogiri 1.13.3 (x86_64-darwin)
Using parallel 1.22.1
Using rainbow 3.1.1
Using typhoeus 1.4.0
Using yell 2.2.2
Using html-proofer 3.19.3
Using i18n 1.10.0
Using sassc 2.4.0
Using jekyll-sass-converter 2.2.0
Using rb-fsevent 0.11.1
Using rb-inotify 0.10.1
Using listen 3.7.1
Using jekyll-watch 2.2.1
Using rexml 3.2.5
Using kramdown 2.3.2
Using kramdown-parser-gfm 1.1.0
Using liquid 4.0.3
Using pathutil 0.16.2
Using rouge 3.28.0
Using safe_yaml 1.0.5
Using unicode-display_width 1.8.0
Using terminal-table 2.0.0
Using jekyll 4.2.2
Using jekyll-feed 0.16.0
Using jekyll-redirect-from 0.16.0
Using jekyll-seo-tag 2.8.0
Using jekyll-sitemap 1.4.0
Using minima 2.5.1
Using webrick 1.7.0
Bundle complete! 8 Gemfile dependencies, 43 gems now installed.
Bundled gems are installed into `./vendor/bundle`

当我执行“捆绑安装”时(在新站点目录中):

Bundle complete! 8 Gemfile dependencies, 42 gems now installed.
Bundled gems are installed into `./vendor/bundle`

差异似乎是“mini_portile2 2.8.0”。我试图删除它,但它被“捆绑安装”拉回来了。

关于如何解决我的旧站点构建问题的任何建议?有没有我没有提供的信息?

此致, 达里尔

我能够通过隐藏与“research/works”(一个集合)相关的内容来构建网站,这感觉像是一个不完整的答案。

我认为我的回答现在更完整了:子目录现在似乎会在集合中引起问题(至少是那些有输出的)。我删除了子目录,这样我的 _works 集合中的所有项目都直接包含在 _works 目录中,我的网站现在正在构建,就像以前一样。