Electron打包后运行出错2

2018-08-01  本文已影响132人  路过麦田

之前的App打包后出现过一次不能运行的情况
https://www.jianshu.com/p/44493f722cef
当时的情形很诡异,但最终还是解决了,这次又出现了不能运行的情况:

Async/Await crash: assertion env->async_hooks_init_function().IsEmpty() failed

在electron1.7.8及以下版本运行是没问题的,一旦升级到1.8.x后就会出现上面这个问题,还有就是1.7.8版本在最新的Ubuntu18.04上是不能显示托盘图标的,网上也没有很好的方案,好在electron后续版本是改掉了这个bug的,看来升级electron是不可避免的,但是上面的crash也相当严重啊,不解决就不能运行。。。
网上也搜索一些同样的问题,貌似也没有说出个所以然来

Cant start electron app #11861

在所有的module都没变的情况下,升级electron到高版本就不能运行,那肯定就是某个module出现了兼容性的问题,因为我把官方的electron-quick-start下载下来运行,是没问题的,所以可以肯定是我App中依赖的某个module出现了兼容性问题,经过无聊而又耗时的挨个排查package.json中dependencies的选项后,发现了unzip,这就和上面链接中的问题一致了,

image.png
原因找到了,就是graceful-fs这个库导致的,要么升级graceful-fs要么降版本,而我则是直接去掉了unzip这个module,可用可不用的,就直接去掉,减少出现问题的几率
dependencies中去掉unzip,并删除node_modules文件夹,然后再次安装所有依赖,并打包,安装,运行,一路下去,没有再出现这个问题了

以后不知道还要在electron上踩多少坑,但是该来的总会来的,躲也躲不掉,迎面而上吧!

上一篇下一篇

猜你喜欢

热点阅读