npm安装puppeteer失败

今天试着使用 apify 这个库,玩玩爬虫,在使用npm install apify --save安装依赖的时候,发现一直卡着不动,然后发现apify这个库依赖于puppeteer,而安装puppeteer的时候会需要下载一个一百多M的包,而包的服务器在国外,基本下不动,没办法去查看源码,在puppeteer的项目根目录下有个install.js文件,可以看到这一句

1
2
3
const downloadHost = process.env.PUPPETEER_DOWNLOAD_HOST || 
process.env.npm_config_puppeteer_download_host ||
process.env.npm_package_config_puppeteer_download_host;

看到这一句,我们可以使用环境变量修改下载的host,那么改为国内镜像服务器,就可以加速下载了,
国内镜像https://npm.taobao.org/mirrors/chromium-browser-snapshots/
修改一下安装的代码,代码如下

1
$ npx cross-env PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors/ npm install apify --save

或者只需要安装puppeteer

1
$ npx cross-env PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors/ npm install puppeteer --save