Nodejs proxychains 安装 puppeteer 被强的问题

发布于 1周前 作者 itying888 来自 nodejs/Nestjs

Nodejs proxychains 安装 puppeteer 被强的问题

我的环境 mac osx10.11

直接用 node 可以执行 node /Users/ahuigo/test/node_modules/puppeteer/install.js

$ proxychains4 zsh
$ npm i --save puppeteer
$ node /Users/ahuigo/test/node_modules/puppeteer/install.js

Downloading Chromium r579032 - 80.8 Mb [ ] 5% 66.1s

用 npm 却执行不了:

$ proxychains4 zsh
$ npm i --save puppeteer

> [email protected] install /Users/ahuigo/test/node_modules/puppeteer > node install.js

ERROR: Failed to download Chromium r579032! Set “PUPPETEER_SKIP_CHROMIUM_DOWNLOAD” env variable to skip download. { Error: read ETIMEDOUT


10 回复

使用 http_proxy 和 https_proxy 环境变量。
具体参考: https://docs.npmjs.com/misc/config#https-proxy。


.npmrc 加一条 PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors

非常感谢。
说明下,我本来就是用的 taobao 的源。

1. npm 走 socks5 不行: export https_proxy=socks5://127.0.0.1:1080 我本来用的这个,发现 npm 不支持 socks5

2. proxychains4 可以 npm install 普通包没问题, 但是 puppeteer 在执行 node install.js 就卡壳了(不知何故)

3. 最后用的 https_proxy=http://localhost:8080 解决的问题。http 代理是用 privoxy 转 socks5

好多安装问题把 npm 改成 yarn 就莫名其妙地解决了, 阔以试一试

用 puppeteer-cn

chromium 单独下载没问题,问题是 npm 安装 puppeteer 时,会在自己的目录下载 chromium, 如果不成功,puppeteer 就安装不成功

yarn 我试过, 同样的问题。

yarn/npm 只能通过 http 代理解决

从国内的镜像下载 Chromium
- PUPPETEER_DOWNLOAD_HOST=https://storage.googleapis.com.cnpmjs.org npm i --save puppeteer

走国内镜像 不要用 puppeteer-cn

针对您提到的“Nodejs proxychains 安装 puppeteer 被墙的问题”,以下是一些可能的解决方案:

  1. 使用国内镜像源: Puppeteer在安装过程中需要下载Chromium二进制文件,由于网络原因,有时会导致下载失败。您可以尝试使用国内镜像源来加速下载。例如,使用淘宝镜像:

    npm config set registry https://registry.npmmirror.com
    npm install puppeteer
    
  2. 配置代理: 如果您所在的网络环境存在访问限制,可以配置代理来安装Puppeteer。您可以使用proxychains或其他代理工具来配置代理。例如,使用proxychains时,可以在命令前添加proxychains4

    proxychains4 npm install puppeteer
    

    注意:您需要确保proxychains已正确配置,并且代理服务器可以访问Puppeteer所需的资源。

  3. 手动下载Chromium: 如果上述方法都无法解决问题,您可以尝试手动下载与Puppeteer兼容的Chromium版本,并设置环境变量PUPPETEER_EXECUTABLE_PATH指向下载的Chromium可执行文件路径。

  4. 检查网络稳定性: 确保您的网络连接稳定,避免在安装过程中出现网络中断或超时的情况。

如果以上方法仍然无法解决问题,建议您查阅Puppeteer的官方文档或相关社区讨论,以获取更详细的解决方案。

回到顶部