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的专栏
被 1 篇内容引用
推荐阅读
LeanCloud带图形校验码的短信发送Vue组件开发
有15万开发者使用LeanCloud服务,其中不乏知乎、懂球帝、爱范儿、拉卡拉等知名应用,LeanCloud提供了数据存储、即时消息……等一站式服务,并从常用的用户管理需求出发,提供了邮箱验证、短信验证……等用户账户相关...
KingMario赞 1阅读 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 包自动发布,过程也比较顺利,遂决定写一篇流水账记录下自动发布的实现,方便以后用到的时候翻阅。
MrBigShot赞 1阅读 2.3k
Promise: 异步编程的理解和使用
JavaScript 中,Promise 的流行是得益于 jQuery 的方法 jQuery.Deferred(),其他也有一些更精简独立的 Promise 库,例如:Q、When、Bluebird。
后除赞 2阅读 765
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。