npm 安装 chromedriver 失败的解决办法

npm 安装 chromedriver 时,偶尔会出错,错误提示类似于:

> chromedriver@2.27.2 install /Users/Mario/Work/Lab/waylens-all-in-one-site/node_modules/chromedriver
> node install.js

Downloading https://chromedriver.storage.googleapis.com/2.27/chromedriver_mac64.zip
Saving to /var/folders/7l/mhhqzhps0y59by7pf04nyx5r0000gn/T/chromedriver/chromedriver_mac64.zip
events.js:161
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT 74.125.23.128:443
    at Object.exports._errnoException (util.js:1023:11)
    at exports._exceptionWithHostPort (util.js:1046:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)

经分析发现,某些版本下,chromedriver 的 zip 文件 url 的响应是 302 跳转,而在 install.js 里使用的是 Node.js 内置的 http 对象的 get 方法无法处理 302 跳转的情况;而在另外一些情况下,则是因为 googleapis.com 被墙了,此时即使采用科学上网的方法也仍然无法获取文件。

无论是上述哪种情况,可以使用下面的命令安装:

npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

使用 cnpm 安装亦可。


Mario Studio
KingMario的专栏

《学习 Vue 你需要知道的 webpack 知识》[链接]

7.2k 声望
518 粉丝
0 条评论
推荐阅读
LeanCloud带图形校验码的短信发送Vue组件开发
有15万开发者使用LeanCloud服务,其中不乏知乎、懂球帝、爱范儿、拉卡拉等知名应用,LeanCloud提供了数据存储、即时消息……等一站式服务,并从常用的用户管理需求出发,提供了邮箱验证、短信验证……等用户账户相关...

KingMario1阅读 3.8k

都2022 年了,你总不能还只会 npm i 吧? 🔥🔥🔥
在键帽与字符上横跳,于代码和程序中穿梭。一起面向快乐编程!大家好,我是荣顶,马上金三银四啦 ~ 这次给大家带来一篇 npm 命令相关的文章。目的在于查缺补漏,提升效率。npm 作为 node 包管理器,内置了非常多...

荣顶9阅读 2.5k

封面图
我从未整理过工具类,直到我要去面试(有npm包)
最近居家,回顾问题解解闷。今天汇总一下过去一年用的工具类(github开源仓库,请勇猛star),顺便发个npm包:haUtil数据处理关于浅拷贝和深拷贝更详细的分析请查看:清晰易懂!讲解JS赋值、浅拷贝和深拷贝浅拷贝...

一个互联网学徒8阅读 564

封面图
package.json中的字段详解(来自于官方文档)
main module browserexports //定义多个入口点(推荐使用),优先级比上面高。为esm和cjs提供,在引入exports之外的路径,会报错。 详情参考 [链接]

寒水寺一禅4阅读 704

不使用第三方库怎么实现【前端引导页】功能?
随着应用功能越来越多,繁多而详细的功能使用和说明文档,已经不能满足时代追求 快速 的需求,而 引导页(或分步引导) 本质就是 化繁为简,将核心功能以更简单、简短、明了的文字指引用户去使用对应的功能,特别...

熊的猫7阅读 690

封面图
使用 github actions 实现 npm 包自动化发布
鉴于我发布/即将发布的 npm 包越来越多,我决定用 github 的 actions 功能来实现 npm 包自动发布,过程也比较顺利,遂决定写一篇流水账记录下自动发布的实现,方便以后用到的时候翻阅。

MrBigShot1阅读 2.3k

Promise: 异步编程的理解和使用
JavaScript 中,Promise 的流行是得益于 jQuery 的方法 jQuery.Deferred(),其他也有一些更精简独立的 Promise 库,例如:Q、When、Bluebird。

后除2阅读 765

《学习 Vue 你需要知道的 webpack 知识》[链接]

7.2k 声望
518 粉丝
宣传栏