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

构建Docker镜像运行时puppeteer抛出SyntaxError正则表达式错误如何解决

问题根源

  1. 报错SyntaxError: Invalid regular expression: ... Invalid group是因为代码中用到了正则命名捕获组((?<attribute>这类语法),该特性是Node.js 10.0+版本才支持的ES2018特性。
  2. 你的Dockerfile存在明显的版本不一致问题:构建依赖阶段用了node:12-alpine镜像,但是运行阶段使用ubuntu:18.04默认软件源安装的nodejs版本为8.x,远低于你本地的Node 12版本,完全不支持正则命名捕获组语法,因此启动直接报错。
  3. 你安装的puppeteer版本适配的Node版本高于8.x,在Node 8环境下本身就无法正常运行。

解决方案

方案1:直接使用官方Node 12镜像作为运行环境(最简便,推荐)

直接修改Dockerfile为如下内容,避免多阶段镜像系统库、Node版本不一致的问题:

FROM node:12-alpine
# 安装运行所需依赖
RUN apk update && apk add python3 py3-pip make g++ ffmpeg && rm -rf /var/cache/apk/*
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 8082
CMD [ "node", "server.js" ]

方案2:如果必须使用ubuntu 18.04作为基础镜像,手动安装对应Node 12版本

修改运行阶段的Node安装逻辑,不要使用默认源的旧版本Node:

FROM node:12-alpine AS BUILD_IMAGE
RUN apk update && apk add python3 py3-pip make g++ && rm -rf /var/cache/apk/*
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm ci --only=production
COPY . .

FROM ubuntu:18.04
WORKDIR /usr/src/app
# 先安装Node.js 12版本
RUN apt-get update && yes | apt-get install apt-utils curl gnupg2
RUN curl -fsSL https://deb.nodesource.com/setup_12.x | bash -
RUN yes | apt-get install nodejs ffmpeg
# 拷贝构建产物和依赖
COPY . .
COPY --from=BUILD_IMAGE /usr/src/app/node_modules ./node_modules

EXPOSE 8082
CMD [ "node", "server.js" ]

额外注意事项

  • Puppeteer v19.0+开始要求Node 14+版本,如果修改完Node版本后仍然报错,可以在package.json中将puppeteer版本锁定为"puppeteer": "^18.2.1",重新安装依赖即可。
  • 如果启动后出现缺少动态链接库的报错,alpine环境可以额外安装chromium包,ubuntu环境可以额外安装gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget即可解决。

内容的提问来源于stack exchange,提问作者Ninh quang Nguyen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:24:03