首页
/ Marp CLI 在 Chrome 130 版本下的 PDF 生成问题分析与解决方案

Marp CLI 在 Chrome 130 版本下的 PDF 生成问题分析与解决方案

2025-07-03 15:29:50作者:盛欣凯Ernestine

Marp CLI 是一个基于 Markdown 的幻灯片生成工具,它能够将 Markdown 文件转换为精美的 PDF 幻灯片。然而,近期在使用 Alpine Linux 3.20.3 环境下(搭载 Chrome 130 版本)时,用户报告了 PDF 生成失败的问题。

问题现象

当用户在 Alpine Linux 3.20.3 环境中运行 Marp CLI 进行 PDF 转换时,会遇到以下错误:

ProtocolError: Network.enable timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.

该错误会导致 PDF 生成过程超时终止,最终无法完成转换。相比之下,在 Alpine Linux 3.19 环境(搭载 Chrome 124 版本)下,相同的操作可以顺利完成。

问题根源

经过技术分析,这个问题源于 Chrome 130 版本在 Alpine Linux 环境下的兼容性问题。具体来说,这是 Puppeteer(Marp CLI 底层使用的浏览器自动化工具)与 Chrome 130 之间的通信超时问题。

解决方案

目前有两种可行的解决方案:

方案一:降级 Alpine Linux 版本

将系统环境降级到 Alpine Linux 3.19 版本,该版本搭载的是 Chrome 124,可以避免这个问题。这是最直接稳定的解决方案。

方案二:禁用 Chrome GPU 加速

Marp CLI 4.0.3 版本新增了通过环境变量禁用 GPU 的功能。可以通过设置以下环境变量来解决问题:

ENV CHROME_DISABLE_GPU 1

这个方案通过禁用 GPU 加速来规避 Chrome 130 的兼容性问题,经测试可以稳定工作。

技术建议

对于生产环境,建议采用方案一,因为它使用的是经过充分验证的稳定版本组合。对于需要最新 Chrome 功能的场景,可以采用方案二,但需要关注可能的性能影响。

总结

Marp CLI 在 Chrome 130 版本下的 PDF 生成问题主要源于底层浏览器自动化工具的兼容性问题。通过降级 Chrome 版本或禁用 GPU 加速都可以有效解决这个问题。开发团队已经快速响应,在最新版本中提供了解决方案选项,展现了良好的维护能力。

对于用户而言,建议根据实际需求选择合适的解决方案,并关注后续版本的更新,以获得更好的兼容性和性能表现。

登录后查看全文
热门项目推荐
相关项目推荐