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

树莓派4的Jenkins环境中安装Jekyll插件遇阻求助

树莓派4 Jenkins流水线中Jekyll插件安装问题解决方案

问题背景

在树莓派4的Jenkins流水线(用于网站发布)中安装Jekyll插件jekyll-content-security-policy-generator时遇到阻碍,Gemfile内容如下:

# frozen_string_literal: true

source "https://rubygems.org"

# Use the latest version.
gem 'jekyll', '~> 4.0'

group :jekyll_plugins do
    # (other jekyll plugins)
    gem 'nokogiri'
    gem 'jekyll-content-security-policy-generator'
    gem 'jekyll_picture_tag', '~> 2.0'
    gem 'jekyll-seo-tag', '~> 2.8.0'
    gem 'jekyll-sitemap', '~> 1.4.0'
end

已尝试的方法及问题

  • 方法1:执行bundle install显示安装完成,但运行构建命令JEKYLL_ENV=production /var/lib/jenkins/.rbenv/shims/jekyll build时触发GLIBC版本错误,提示系统缺少GLIBC_2.29,不支持预编译的Nokogiri原生gem。
  • 方法2:执行bundle config set force_ruby_platform true后重新安装,运行构建命令时出现Bundler::GemNotFound错误,提示找不到sass-embedded-1.57.1,手动安装并添加到Gemfile也无法解决;切换回原配置则再次触发GLIBC错误。

解决方案

1. 解决Nokogiri的GLIBC版本冲突

树莓派自带的Raspbian系统GLIBC版本偏低,预编译Nokogiri依赖高版本GLIBC,需强制安装纯Ruby版本的Nokogiri:

  • 先安装编译依赖:
    sudo apt-get update && sudo apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev
    
  • 修改Gemfile,给Nokogiri添加平台限制:
    gem 'nokogiri', platforms: [:ruby]
    

2. 解决sass-embedded缺失问题

sass-embedded无ARM平台预编译包,开启force_ruby_platform后Bundler找不到适配版本,需替换为纯Ruby的sass:

  • 在Gemfile中添加强制依赖:
    gem 'sass', '~> 3.7'
    

3. 完整操作流程

  1. 安装系统编译依赖(见步骤1)。
  2. 修改Gemfile,调整Nokogiri和sass配置:
    # frozen_string_literal: true
    
    source "https://rubygems.org"
    
    # Use the latest version.
    gem 'jekyll', '~> 4.0'
    
    # 强制使用纯Ruby版本的sass,避免sass-embedded的ARM平台问题
    gem 'sass', '~> 3.7'
    
    group :jekyll_plugins do
        # (other jekyll plugins)
        gem 'nokogiri', platforms: [:ruby]
        gem 'jekyll-content-security-policy-generator'
        gem 'jekyll_picture_tag', '~> 2.0'
        gem 'jekyll-seo-tag', '~> 2.8.0'
        gem 'jekyll-sitemap', '~> 1.4.0'
    end
    
  3. 重置bundle配置,取消force_ruby_platform的强制设置:
    bundle config unset force_ruby_platform
    
  4. 重新执行安装:
    bundle install
    
  5. 运行Jekyll构建命令:
    JEKYLL_ENV=production /var/lib/jenkins/.rbenv/shims/jekyll build
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:15:26