Windows环境下Puppeteer依赖缺失问题求助
解决Puppeteer v22.11.2依赖缺失与ENOENT错误问题
问题背景
Windows系统、Node v18.19.1环境下,执行npm i puppeteer安装Puppeteer v22.11.2后,启动项目出现编译错误,提示找不到puppeteer-core内部依赖文件;按照错误提示执行安装命令后,又触发ENOENT错误,系统无法找到指定路径的package.json文件。
编译错误信息
ERROR Failed to compile with 2 errors friendly-errors 7:51:09 PM These dependencies were not found: friendly-errors 7:51:10 PM * puppeteer-core/internal/node/PuppeteerNode.js in ./node_modules/puppeteer/lib/cjs/puppeteer/puppeteer.js friendly-errors 7:51:10 PM * puppeteer-core/internal/puppeteer-core.js in ./node_modules/puppeteer/lib/cjs/puppeteer/puppeteer.js friendly-errors 7:51:10 PM To install them, you can run: npm install --save puppeteer-core/internal/node/PuppeteerNode.js puppeteer-core/internal/puppeteer-core.js
ENOENT错误信息
npm ERR! code ENOENT npm ERR! syscall open npm ERR! path C:\Users\TiremBareno-Sosna\Development\EduceACCServices\front-end-v2\puppeteer-core\internal\node\PuppeteerNode.js/package.json npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\TiremBareno-Sosna\Development\EduceACCServices\front-end-v2\puppeteer-core\internal\node\PuppeteerNode.js\package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: C:\Users\TiremBareno-Sosna\AppData\Local\npm-cache\_logs\2024-06-20T23_55_15_828Z-debug-0.log
解决方案
1. 清理现有依赖残留
彻底移除相关包和缓存,避免版本冲突:
# 卸载puppeteer和puppeteer-core npm uninstall puppeteer puppeteer-core # Windows系统删除node_modules和锁文件(CMD命令) rmdir /s /q node_modules del package-lock.json # 清理npm缓存 npm cache clean --force
2. 重新安装匹配版本的依赖
Puppeteer与puppeteer-core版本必须严格一致,直接安装对应版本:
npm install puppeteer@22.11.2 puppeteer-core@22.11.2
3. 修复打包工具路径解析(若使用Vue/React等框架)
如果项目使用webpack或vue-cli等工具,可能存在路径解析错误,需在配置文件中添加别名:
以Vue项目为例,修改vue.config.js:
const path = require('path'); module.exports = { configureWebpack: { resolve: { alias: { 'puppeteer-core': path.resolve(__dirname, 'node_modules/puppeteer-core') } } } }
4. 验证安装与启动
执行命令检查版本一致性:
npm ls puppeteer puppeteer-core
确认版本均为v22.11.2后,重新启动项目即可。
错误原因说明
编译错误提示的安装命令是错误的——puppeteer-core的内部文件并非独立npm包,无法通过npm install直接安装,必须安装完整的puppeteer-core包,且版本需与Puppeteer完全匹配。
内容的提问来源于stack exchange,提问作者Tirem Bareno-Sosna
相关产品推荐
相关产品推荐

