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

GitHub CI工作流运行时Poppler gem报TypelibNotFound错误求助

解决GitHub CI中Poppler Typelib未找到的问题

问题根源

Ruby的poppler gem并非独立实现功能,它依赖系统层面安装的Poppler库及其GObject Introspection类型文件。你本地环境已经预装了这些系统依赖,所以运行正常,但GitHub CI的默认镜像不包含这些组件,仅添加gem无法解决问题。

解决方案

1. 在CI工作流中安装系统级Poppler依赖

GitHub CI默认使用Ubuntu镜像,在你的工作流YAML文件中添加安装系统依赖的步骤:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: 安装系统依赖
        run: sudo apt-get update && sudo apt-get install -y libpoppler-glib-dev
      # 后续步骤(拉代码、安装bundle、运行测试等)

libpoppler-glib-dev包包含了Poppler的GObject Introspection类型库,正是报错中缺失的文件。

2. 确认Gemfile配置

确保Gemfile中包含必要的gem(无需额外调整,只要系统依赖安装完成即可):

gem 'poppler'
gem 'gobject-introspection'
gem 'glib2'

3. 可选:验证依赖安装(用于排查)

如果仍有问题,可以在CI步骤中添加验证命令,确认typelib已存在:

- name: 检查Poppler Typelib
  run: girepository-1.0 --list | grep Poppler

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:31:17