Puppeteer浏览器下载失败,Node.js版本不兼容问题求助
Puppeteer安装报错解决方案:Node版本不兼容问题
问题根源
你遇到的SyntaxError: Unexpected token '??='和浏览器下载失败,核心原因是Node.js版本不兼容:
??=是ES2021新增的空赋值运算符,Node.js 14.x系列不支持该语法- 你安装的
puppeteer@20.7.1、@puppeteer/browsers@1.4.1明确要求Node.js版本≥16.3.0,而当前Node.js 14.17.5不满足这个条件
解决方案
方案一:升级Node.js版本(推荐)
- 卸载当前的Node.js 14.17.5,下载安装Node.js 16.3.0及以上的LTS版本(比如18.x或20.x系列,稳定性更好)
- 打开新的bash窗口,执行
node -v确认版本符合要求 - 进入你的项目目录,删除
node_modules文件夹和package-lock.json文件 - 重新执行
npm install puppeteer,此时可正常完成依赖安装和浏览器下载
方案二:安装兼容Node.js 14.x的Puppeteer版本
- Puppeteer 19.x及以下版本支持Node.js 14.1.0+,推荐安装19系列的最后一个稳定版本
- 执行指定版本安装命令:
npm install puppeteer@19.11.1
- 安装完成后,测试Puppeteer脚本是否能正常运行
注意事项
- 升级Node.js时,npm版本会同步更新,新版本npm能更顺畅地处理依赖安装流程
- 选择降级Puppeteer的话,会无法使用20.x版本新增的特性,因此优先推荐升级Node.js
内容的提问来源于stack exchange,提问作者Neil Juanillo
相关产品推荐
相关产品推荐

