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

Azure DevOps中Jekyll站点构建失败求助

解决Azure DevOps上Jekyll构建的strscan.so加载失败问题

排查步骤和解决办法

  • 先确认Ruby本身是否正常
    strscan是Ruby标准库的一部分,报错找不到它(错误码126)大概率是Ruby安装不完整或者依赖的系统库缺失。先在构建脚本里加个验证步骤:

    ruby -e "require 'strscan'; puts 'strscan加载成功'"
    

    如果这一步就报错,直接换Ruby安装方式——别用Azure DevOps自带的版本,改用RubyInstaller完整包。在脚本里先卸载现有Ruby,再安装3.1.5版本的RubyInstaller,记得勾选安装DevKit和VC++运行时组件。

  • 清掉旧Gem缓存,重新安装依赖
    旧的Gem缓存可能和新Ruby版本不兼容,先彻底清理:

    gem clean
    bundle clean --force
    

    删除项目根目录的Gemfile.lock,重新执行bundle install,确保所有Gem都是基于当前Ruby版本编译的。

  • 补装VC++运行时库
    Win2019虚拟机可能缺少Ruby所需的VC++ 2019运行时,在构建脚本开头添加安装步骤:

    choco install vcredist2019 -y
    

    如果使用的是自托管代理,安装完成后最好重启代理服务,让环境变更生效。

  • 换个Ruby版本尝试
    虽然Azure DevOps仅提供3.0.7和3.1.5可选,试试锁定3.0.7版本——可能3.1.5和Win2019环境存在兼容性问题:
    在Gemfile里指定版本:

    ruby '~> 3.0.7'
    

    然后重新安装依赖再执行构建。

  • 对比本地与Azure的环境差异
    本地用Ruby 3.2.2能正常构建,说明代码本身无问题,重点排查环境差异:

    1. 用Dependency Walker工具查看本地Ruby的strscan.so依赖的DLL,再在Azure VM上确认这些DLL是否存在;
    2. 在构建脚本中输出PATH、RUBY_HOME等环境变量,和本地的配置对比,排查是否有路径或变量缺失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:07:14