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

Google App Engine部署Puppeteer报libnss3.so找不到错误如何解决?

error while loading shared libraries: libnss3.so cannot open shared object file

这个报错是因为Puppeteer内置的Chromium浏览器运行所需的系统依赖库libnss3未在Google App Engine的运行环境中预装,按以下步骤操作即可解决:

解决步骤
  • 切换到App Engine灵活环境
    App Engine标准环境的Node.js运行时无法自定义安装系统依赖,必须切换为灵活环境,修改项目根目录下的app.yaml配置,将env字段设置为flex。
  • 配置系统依赖安装规则
    在app.yaml中新增runtime_config字段,声明Chromium运行需要的全部系统依赖,避免后续出现其他库缺失报错:
    runtime: nodejs
    env: flex
    runtime_config:
      operating_system: ubuntu22
      packages:
        - libnss3
        - libgconf-2-4
        - libxss1
        - libappindicator1
        - libasound2
        - libpangocairo-1.0-0
        - libx11-xcb1
        - libxcb-dri3-0
        - libxtst6
    # 保留你原有配置的其他字段,比如实例规格、环境变量等
    
  • 修改Puppeteer启动参数
    服务器无图形界面环境下启动Puppeteer必须添加适配参数,否则会启动失败,示例代码:
    const browser = await require('puppeteer').launch({
      args: [
        '--no-sandbox',
        '--disable-setuid-sandbox',
        '--disable-dev-shm-usage',
        '--disable-gpu'
      ],
      headless: 'new'
    })
    
    其中--no-sandbox和--disable-setuid-sandbox是Google App Engine环境下的必填参数。
  • 重新部署应用
    执行gcloud app deploy命令重新部署,部署过程中平台会自动安装你配置的所有系统依赖包。
验证

部署完成后触发一次Puppeteer启动逻辑,确认没有库缺失报错、Chromium可以正常启动即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:36:04