-
按照这个教程 ,安装cnpm 并执行
cnpm install -g electron
时出现post install failure
(部署失败)
-
原因是cnpm只会安装electron的js脚本和js依赖,electron所需要的chromuium等二进制组件需要在 post install 阶段进行下载,
而这个阶段的下载并不会主动寻找国内镜像,像electron 一类需要大型二进制组件的模块,即使采用 cnpm 或者更换国内镜像站,也容易因为网络原因失败 -
遇到这个问题时有如下两种解决方案
- 在
npm config
中添加自定义变量ELECTRON_MIRROR
,为electron 指定专用的镜像站,这一类方法也适用于其他需要大型二进制文件的 node 依赖 ,这也是很多教程里面提到的“最佳方案”- Node.js 镜像: https://npmmirror.com/mirrors/node/
- alinode 镜像: https://npmmirror.com/mirrors/alinode/
- ChromeDriver 镜像: https://npmmirror.com/mirrors/chromedriver/
- OperaDriver 镜像: https://npmmirror.com/mirrors/operadriver/
- Selenium 镜像: https://npmmirror.com/mirrors/selenium/
- electron 镜像: https://npmmirror.com/mirrors/electron/
- 在cnpm 安装失败后离线安装 electron,注意按照自己的electron版本进行调整。
- 在
- 之前笔者在全局安装时采用了第二种方法,因为很多教程中提到的第一种方法
npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/
不再起效,npm 似乎不再允许于npm config
中设置自定义值
解决方案在 这篇文章