第一次体验 electron,就遇到了安装一直不成功的问题,网上的方法基本试过,总结就是切换源。可是基本只说了设置ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"
,对,在之前的版本上只设置这个就行。但 7.0.0
不行,看下面个人失败过程及解决过程。node
#Clone this repository git clone https://github.com/electron/electron-quick-start # Go into the repository cd electron-quick-start # Install dependencies npm install # Run the app npm start
跟着运行,走不通,卡在了 node install.js
这里git
网上方法试了一通,不行。最后去看的源码,先上个人解决方法。github
安装 cross-env
,是为了给后面的命令设置环境变量(设置proccess.env
),你也能够不安装这个,先本身设好系统环境变量npm
更新下,新版本已是 7.0.1
了, 若是你用的是 7.0.1
, 注意修改成cross-env npm_config_electron_mirror="https://npm.taobao.org/mirrors/electron/" npm_config_electron_custom_dir="7.0.1" npm install
, 也就是 npm_config_electron_custom_dir
要设置为版本号`**json
#Install cross-env, 注意是全局安装 npm install -g cross-env #Clone this repository git clone https://github.com/electron/electron-quick-start # Go into the repository cd electron-quick-start # Install dependencies cross-env npm_config_electron_mirror="https://npm.taobao.org/mirrors/electron/" npm_config_electron_custom_dir="7.0.0" npm install
成功安装(这个截图是前面没安装cross-env
,在 mac
电脑上的结果)浏览器
npm start
进入 node_modules
文件夹里的 electron
文件夹,打开里面的 install.js
文件缓存
查看 downloadArtifact
函数的定义,里面的 getArtifactRemoteURL
获取远程下载的地址,能够经过 log
打印出来查看,这样就能看出为何下载不下来app
加个打印,查看下载地址,将打印出来的地址输入到浏览器中,查看结果,能够看到确实很难下载electron
这就试试网上的换源方法,在 node
命令前添加参数,设置当前运行的 process.env
里的值(从后面代码看出这样设置的)函数
ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" node install.js
依然下载不下来,打印出来的网址为https://npm.taobao.org/mirrors/electron/v7.0.0/electron-v7.0.0-darwin-x64.zip 与能够查看的源地址比较,发现 v7.0.0
多了个 v
,下图是能够下载的源图
仍是去看看这个下载地址是怎么生成的吧,查看 getArtifactRemoteURL
函数,以下
能够看出是由 base
, path
, file
拼接起来的,默认参数以下
能够经过设置 process.env
来修改 base
,path
,file
,设置方法如前面的 node
,npm
命令前添加的 key-value
值。如修改 base
,命令行前添加 ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"
,设置 base
的 key
能够写成 ELECTRON_MIRROR
,也能够写成 npm-config-electron-mirror
,(其余形式参见代码)。来看看 path
,由 version
决定或者 process.env
里的 npm-config-electron-custom-dir
(多种形式均可以),这个 version
来源于 electron
文件夹下的 package.json
文件,能够看到是 7.0.0
为什么多了个v
,回到downloadArtifact
函数,能够看到代码添加的v
因此要获得正确的源,就本身设置process.env
里的npm-config-electron-custom-dir
其余的方法,好比从 https://npm.taobao.org/mirrors/electron/7.0.0/ 下载离线包,放在缓存的位置,设置缓存等,能够看代码设置参数
看一下不一样平台的默认参数,纯解惑