为什么VSCode中Puppeteer无法下载安装且运行时报错?
问题原因说明
安装终端卡住原因
- Puppeteer安装流程默认会同步下载匹配当前版本的Chromium浏览器内核,国内网络环境下大概率会因为资源访问受限、网络超时导致依赖安装的reify进程挂死。你看到的
reify:puppeteer: timing reifyNode:node_modules/puppeteer-extra Completed in 54ms重复输出,就是安装进程卡在Chromium下载步骤未退出,导致终端被占用无法响应其他输入。
运行时报错原因
- 你收到的
MODULE_NOT_FOUND报错指向的是找不到执行文件/Users/aurora/Desktop/mainfiles/bot.js,并非找不到Puppeteer依赖,两个问题相互独立:- 最常见的原因是新开终端的默认工作目录不在
/Users/aurora/Desktop/mainfiles/路径下,直接执行node bot.js时Node.js无法在当前工作目录定位到目标文件。 - 此前挂死的安装进程可能损坏了本地
node_modules的依赖树结构,Puppeteer的引用链路被破坏,而其余模块未受波及所以可以正常导入。
- 最常见的原因是新开终端的默认工作目录不在
对应解决方案
- 先强制结束挂死的安装进程:关闭卡住的终端窗口,打开Mac活动监视器搜索所有node进程并终止,避免残留进程占用文件锁。
- 重新安装Puppeteer时跳过内置Chromium下载,执行命令:
PUPPETEER_SKIP_DOWNLOAD=true npm install puppeteer puppeteer-extra
- 修复执行文件找不到的报错:先执行
cd /Users/aurora/Desktop/mainfiles切换到目标文件所在目录,再执行node bot.js即可。如果后续仍出现Puppeteer模块找不到的报错,删除本地node_modules文件夹、package-lock.json文件后重新执行安装命令即可。
内容的提问来源于stack exchange,提问作者Minnie
相关产品推荐
相关产品推荐

