npm 安装 Puppeteer 报错及解决方案汇总

ChatGPT4o 使用 ChatGPT 4o 回答

问题:

npm 安装报错如下,如何解决 C:\Windows\System32>npm install puppeteer npm error code 1 npm error path C:\Windows\System32\node_modules\puppeteer npm error command failed npm error command C:\Windows\system32\cmd.exe /d /s /c node install.mjs npm error Error: ERROR: Failed to set up chrome-headless-shell v126.0.6478.55! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download. npm error at file:///C:/Windows/System32/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:84:27 npm error at process.processTicksAndRejections (node:internal/process/task_queues:95:5) npm error at async Promise.all (index 1) npm error at async downloadBrowser (file:///C:/Windows/System32/node_modules/puppeteer/lib/esm/puppeteer/node/install.js:90:9) { npm error [cause]: AggregateError [ETIMEDOUT]: npm error at internalConnectMultiple (node:net:1117:18) npm error at afterConnectMultiple (node:net:1684:7) { npm error code: 'ETIMEDOUT', npm error [errors]: [ [Error], [Error], [Err

回答:

在安装 Puppeteer 时遇到错误,通常是由于网络问题或权限问题导致的。以下是一些可能的解决方案:

1. 设置环境变量 PUPPETEER_SKIP_DOWNLOAD

如果你不需要 Puppeteer 自动下载 Chromium,可以设置环境变量 PUPPETEER_SKIP_DOWNLOAD 来跳过下载步骤。

在 Windows 上,你可以在命令行中运行以下命令:

set PUPPETEER_SKIP_DOWNLOAD=true
npm install puppeteer

2. 手动下载 Chromium

你可以手动下载 Chromium 并将其路径设置为 Puppeteer 的 PUPPETEER_EXECUTABLE_PATH 环境变量。

  1. 下载 Chromium:

  2. 设置 PUPPETEER_EXECUTABLE_PATH 环境变量:

    set PUPPETEER_EXECUTABLE_PATH=C:\path\to\chromium\chrome.exe
    npm install puppeteer
    

3. 使用代理

如果你在公司网络或防火墙后面,可以尝试使用代理来下载 Chromium。

  1. 设置 npm 代理:

    npm config set proxy http://your-proxy:port
    npm config set https-proxy http://your-proxy:port
    
  2. 设置 Puppeteer 代理:

    set HTTPS_PROXY=http://your-proxy:port
    npm install puppeteer
    

4. 检查网络连接

确保你的网络连接正常,并且没有被防火墙或其他安全软件阻止。

5. 提升权限

在某些情况下,权限问题可能会导致安装失败。尝试以管理员身份运行命令提示符,然后重新运行安装命令。

6. 清理 npm 缓存

有时,npm 缓存中的问题可能会导致安装失败。你可以尝试清理 npm 缓存:

npm cache clean --force
npm install puppeteer

7. 使用 cnpm

如果你在中国大陆,网络连接到 npm 官方仓库可能会比较慢,可以尝试使用 cnpm(淘宝的 npm 镜像)来安装:

npm install -g cnpm --registry=https://registry.npmmirror.com
cnpm install puppeteer

8. 更新 npm 和 Node.js

确保你使用的是最新版本的 npm 和 Node.js。你可以通过以下命令更新 npm:

npm install -g npm

如果以上方法都无法解决问题,请提供更多的错误日志信息,以便进一步诊断问题。