electron 7.x 安装失败的解决方法
现象
按照 electron官方教程 中的方法进行安装
1  | npm install --save-dev eletron  | 
这个时候命令行会一直卡在
1  | node install.js  | 
然后就没有然后了。
根据一些教程上写的解决方案有两种
- 降级 electron 到 6.x
 - 手动下载 
electron文件,放入node_modules,并且写一个.txt的配置 
这两种方案似乎都不能令人满意,比如需要应用 7.x 中的 BrowserView 时,第一种方案就失效了。手动侵入修改 node_modules 可能会导致升级问题。
原因
查阅了一些资料后发现,这个问题产生于 electron 的内部下载管理器中的 一个模块。
7.0 以下的 electron 的资源地址中版本目录是 6.1.2 格式,而 7.0 以上的则增加了一个 v 字符,成为了 v7.0.0。
而下载器模块本身并没有对这个改动做相应的处理,导致访问到了错误的资源地址。
解决方案
安装 cross-env
1  | npm install -g cross-env  | 
修改环境变量并安装
1  | cross-env electron_mirror=https://cdn.npm.taobao.org/dist/electron/ npm install electron // 已失效  | 
请务必使用 https://cdn.npm.taobao.org/dist/electron/,因为目前只有这个源对 v7.0.0 格式下的资源地址进行了别名处理。
由于 cdn.npm.taobao.org 挂了,所以上述方法无法使用
只能自己设置目录了,比如要安装 7.1.13 1
cross-end electron_mirror=https://npm.taobao.org/mirrors/electron/ electron_custom_dir=7.1.13 npm install electron