美文网首页
Electron 8.4.0版本 on Mac

Electron 8.4.0版本 on Mac

作者: 戈壁堂 | 来源:发表于2020-08-03 17:48 被阅读0次

Mixin 0.10.2版本Mac上需要electron的8.4版本 cat yarn.lock | grep electron

Mac上出现跟Windows上类似的情况。需要手动下载https://github.com/electron/electron/releases/tag/v8.4.0electron-v8.4.0-darwin-x64.zip,然后解压到项目的 node_modules/electron/disk目录下。

手动创建path.txt文件,内容添加未 Electron.app/Contents/MacOS/Electron,第一开始只写了Electron.app是无效的。后面安装了一个全局的Electron参考了对应的path.txt里的写法。

但依然报错——

INFO  Launching Electron...
(node:55762) UnhandledPromiseRejectionWarning: Error: spawn /Users/gebitang/projects/github/desktop-app/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron
 ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19)
    at onErrorNT (internal/child_process.js:456:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
(node:55762) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:55762) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

有说是$PATH问题 添加了PATH路径后,问题依旧;

官方#39针对的是windows环境下的问题。

直接启动安装的Electron,验证是否正确安装。应用正常启动,到包含了类似的报错——

Reading /Users/gebitang/projects/project-desktop/uitest-desktop/node_modules/devtron/manifest.json failed.
Error: ENOENT: no such file or directory, open '/Users/gebitang/projects/project-desktop/uitest-desktop/node_modules/devtron/manifest.json'
    at Object.openSync (fs.js:440:3)
    at Object.func [as openSync] (electron/js2c/asar.js:140:31)
    at Object.readFileSync (fs.js:342:35)
    at Object.fs.readFileSync (electron/js2c/asar.js:542:40)
    at getManifestFromPath (electron/js2c/browser_init.js:4124:26)
    at Function.BrowserWindow.addExtension (electron/js2c/browser_init.js:4546:22)
    at Function.BrowserWindow.addDevToolsExtension (electron/js2c/browser_init.js:4578:40)
    at App.<anonymous> (electron/js2c/browser_init.js:4607:23)
    at Object.onceWrapper (events.js:300:26)
    at App.emit (events.js:215:7)

有类似的问题,删除~/Library/Application Support/Electron/DevTools Extensions文件之后,上述问题消失。但使用 yarn electron:serve时依然复现相同的问题。

按照index.js的要求,导出ELECTRON_OVERRIDE_DIST_PATH 的值,还是不行。

先卸载,再手动使用npm安装npm install electron@^v8.4.0。实际上安装的为8.4.1版本,内网和淘宝的registry都没有速度,挂上代理,使用npm --registry https://registry.npm.taobao.org install安装成功。

应用可以成功启动,但提示编译的版本不对。重新执行 yarn install之后,再启动应用。成功。

还是没看出来哪里导致的问题。难不成是8.4.0版本有bug乜:(

相关文章

网友评论

      本文标题:Electron 8.4.0版本 on Mac

      本文链接:https://www.haomeiwen.com/subject/wdrbrktx.html