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

Bazel运行含Puppeteer的nodejs_image报libgobject缺失/权限错如何解决

问题根因

  1. 初始报错缺少libgobject-2.0.so.0依赖:默认nodejs_image使用distroless作为基础镜像,没有预装Chromium运行必需的系统依赖库。
  2. 更换自定义镜像后的权限报错:你使用的第三方puppeteer基础镜像默认配置了非root运行用户,而rules_docker构建的Node.js镜像在启动时需要创建软链接,非root用户没有/app路径的写入权限。

解决方法

方案(直接复用你已选的puppeteer基础镜像,修复配置即可)

  1. 修改nodejs_image配置,指定容器以root用户运行,解决软链接权限问题:
nodejs_image(
    name = "base_image",
    base = "@nodejs_puppeteer//image",
    binary = "server",
    user = "root", # 新增这一行配置
)
  1. 在代码中调用puppeteer.launch时添加容器运行专用参数,避免Chromium沙箱报错:
const browser = await puppeteer.launch({
  args: ['--no-sandbox', '--disable-setuid-sandbox']
})

修改后重新构建运行镜像即可解决两类报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:45:03