You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jekyll部署GitHub Pages遇更新失败与构建报错求助

问题描述

提交推送文件变更后执行网站部署,使用的deploy.yml配置如下:

name: deploy

on:
  push:
    branches:
      - master
      - main
  pull_request:
    branches:
      - master
      - main
  workflow_dispatch:

permissions:
  contents: write

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout 🛎️
      uses: actions/checkout@v3
    - name: Setup Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: '3.2.2'
        bundler-cache: true
    - name: Update _config.yml ⚙️
      uses: fjogeleit/yaml-update-action@v0.13.1
      with:
        commitChange: false
        valueFile: '_config.yml'
        propertyPath: 'giscus.repo'
        value: ${{ github.repository }}
    - name: Install and Build 🔧
      run: |
        pip3 install --upgrade jupyter
        npm install -g mermaid.cli
        npm install -g purgecss
        export JEKYLL_ENV=production
        bundle exec jekyll build --lsi
        purgecss -c purgecss.config.js
    - name: Deploy 🚀
      if: github.event_name != 'pull_request'
      uses: JamesIves/github-pages-deploy-action@v4
      with:
        folder: _site

执行命令bin/deploy --user时触发错误,日志关键内容:

Layout source: site github-pages 228 | Error: Liquid syntax error (line 17): Unknown tag 'bibliography'

同时存在两个疑问:

  • 不确定当前Jekyll版本变化带来的影响
  • 站点URL未在GitHub Pages显示,疑似和Docker有关
解决方案

1. 修复「Unknown tag 'bibliography'」错误

该错误是因为Jekyll缺少处理bibliography标签的插件,按以下步骤处理:

  • 在_config.yml的plugins字段中添加对应插件:
    plugins:
      - jekyll-scholar
    
  • 在Gemfile中添加插件依赖:
    gem 'jekyll-scholar'
    
  • 执行bundle install安装插件,重新尝试构建部署。

注意:如果依赖GitHub Pages官方构建,第三方插件如jekyll-scholar不被支持,必须使用当前自定义Action的部署方式,确保插件能被正确加载。

2. 统一Jekyll版本

日志显示当前使用GitHub Pages v228对应的Jekyll 3.9.3,需确保本地与Action环境版本一致:

  • 在Gemfile中明确指定版本:
    gem 'jekyll', '3.9.3'
    gem 'github-pages', '228', group: :jekyll_plugins
    
  • 执行bundle update更新依赖,消除版本差异。

3. 解决站点URL不显示问题

  • 检查GitHub Pages设置:进入仓库「Settings」→「Pages」,确认部署来源分支和目录选择正确(如gh-pages分支的/root目录)。
  • 确认Action部署状态:查看Actions日志,检查Deploy步骤是否成功将_site目录内容推送到指定分支。
  • 同步Docker环境配置:如果本地用Docker开发,需确保容器内Ruby、Jekyll版本与Action环境一致,且已安装所有依赖插件,避免本地与线上构建差异。

内容的提问来源于stack exchange,提问作者rivana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 15:25:00