问题描述
我无法终生搞清楚为什么require('re2')
时我的应用无法加载。
复制步骤:
-
$ touch app.js && npm init -y
。 - 然后将
package.json
更改为任何描述,否则电子将不会启动。 -
$ npm install --save-dev electron
。 -
$ npm install --save re2
。 - 使用quick start guide(https://pastebin.com/fw5NcRSu)中的模板填充
app.js
文件。 - 从快速入门指南中添加index.html。 (https://pastebin.com/GAJEPfwj)。
- 将
"start": "electron ."
添加到package.json
文件的脚本中。 - 此时运行
npm start
时,一切正常。 - 将
const re2 = require('re2')
添加到app.js
。 -
$ npm start
导致NODE_MODULES_VERSION
不匹配(re2为82 vs 88)。 -
$ npm install --save-dev electron-rebuild
。 -
$ node_modules/.bin/electron-rebuild
。 -
$ npm start
现在得到一个SIGSEGV
。
在运行export DEVELOPMENT_SKIP_GETTING_ASSET="true"
之前以及在以相同结果开始整个过程之前,我还尝试过electron-rebuild
(https://github.com/uhop/node-re2/wiki/Problem:-ABI-mismatch-in-Electron)。
如果有人解决了这个问题,或者知道我可以采取的下一步措施,那就太好了!
我的版本:
- Node v15.1.0 和 v12.19.0及其匹配的npm版本。
- 电子v10.1.5 和 v9.3.3
- 电子重建v2.3.2
- re2 v1.15.8
编辑:这显然是电子/ re2(https://github.com/electron/electron/issues/26384)中的错误
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)