electron 7.x 安装失败的解决方法

现象

按照 electron官方教程 中的方法进行安装

1
npm install --save-dev eletron

这个时候命令行会一直卡在

1
node install.js

然后就没有然后了。

根据一些教程上写的解决方案有两种

  1. 降级 electron 到 6.x
  2. 手动下载 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