已设置PUPPETEER_SKIP_DOWNLOAD仍报错,Mac下如何跳过Puppeteer安装?
Puppeteer安装错误(chrome-headless-shell下载失败)且PUPPETEER_SKIP_DOWNLOAD无效的原因分析
1. 环境变量未真正生效
你用export设置的环境变量仅在当前Shell会话中临时有效:
- 如果重启终端、新开窗口,变量会直接丢失
- 若执行
pnpm dev的会话不是设置变量的那个会话,变量不会被读取 - 可以执行
echo $PUPPETEER_SKIP_DOWNLOAD验证,若输出不是true,说明变量没生效
直接在执行命令时传递变量更可靠,比如:
PUPPETEER_SKIP_DOWNLOAD=true pnpm dev
2. 项目本地配置覆盖了环境变量
Puppeteer允许通过本地配置文件或package.json字段强制指定下载行为,优先级高于环境变量:
- 检查项目根目录下的
.puppeteerrc.cjs、puppeteer.config.js等配置文件,看是否设置了skipDownload: false - 查看package.json中的
"puppeteer"字段,比如:
这类配置会直接覆盖环境变量的设置,需要改为"puppeteer": { "skipDownload": false }true
3. pnpm缓存或依赖安装逻辑残留
之前的依赖安装缓存可能导致Puppeteer仍尝试下载:
- 执行
pnpm store prune清理pnpm全局缓存 - 删除项目的
node_modules和pnpm-lock.yaml,然后重新执行:
完成后再启动dev服务PUPPETEER_SKIP_DOWNLOAD=true pnpm install
4. 系统全局环境变量冲突
如果之前通过其他方式设置过全局的PUPPETEER_SKIP_DOWNLOAD为false,会覆盖当前会话的临时设置:
- 检查Shell配置文件(如
~/.zshrc、~/.bash_profile)中是否存在全局的export PUPPETEER_SKIP_DOWNLOAD=false,如有需要修改或删除
内容的提问来源于stack exchange,提问作者user824624
相关产品推荐
相关产品推荐

