安装electron失败
如果遇到报错为:electron install failed:unable to verify the first certificate
这个报错可以设置npm不验证https证书:
npm config set strict-ssl false
由于国内网络原因,建议使用淘宝源;你可以使用nrm管理你的源或者直接单词设置,这里给出单次设置的例子
npm config set registry https://registry.npmmirror.com/
npm set electron_mirror http://npm.taobao.org/mirrors/electron/
npm set ELECTRON_MIRROR http://cdn.npm.taobao.org/dist/electron/
重新执行安装
npm cache clean -f
// 先清除一下npm缓存并删除已经安装的node_modules文件
npm cache clean -f
安装
npm install electron --save-dev
启动electron失败
启动你的应用可能会遇到如下报错:
throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again')
原因这里不多做赘述,大家可以去修改如下代码: 1./node_modules/electron/extract-zip/index.js 这行代码做如下修改 修改前:
await pipeline(readStream, createWriteStream(dest, { mode: procMode })
修改后
await pipeline(readStream, createWriteStream(dest, { mode: procMode }),(err,val)=>{
if(err){
throw new Error(err)
} else {
return val
}
})
备注:这里这么修改是因为这个pipeline方法失败后没有监听,导致失败被吞,代码停止执行,而外部无法拿到异常,导致后面的代码不会执行,大家可以自己来到这个文件夹执行npm run postinstall执行代码debug看看是不是也有这个问题。
2.还是这个文件 修改前
await this.extractEntry(entry)
修改后
await this.extractEntry(entry)
.then( val=>{
console.log('----------------res-----------'),val
})
.catch(err=>{
console.log('----------------------err----------------',err)
}
)
这里其实只是为了辅助打印一下,捕获错误。
3.上述代码修改后,需要在/node_modules/electron下执行
npm run postintall
最终会看/node_modules/electron 会生成一个path.txt文件(没错,开始失败的原因就是没有这个文件生成)
- 重新到项目根目录执行启动命令。
摸索了一下午才找到原因,网上有很多说让修改@electron中生成下载electron的url解决,但是现在最新的淘宝源下的下载链接已经不存在这个问题(大家可以自行debug,如果复现了这个下载问题,可以去修改这)