我正在使用节点画布制作电子应用程序。
我通过以下命令生成了一个应用安装程序:
$ electron-builder --mac --x64 --config ./build_mac.js
build_mac.js
const config = {
"appId": "jp.maplat.editor",
"asarUnpack": [
"assets/mac/canvas"
],
"directories": {
"output": "dist"
},
"files": [
"assets/mac",
"backend",
"css",
"frontend/dist",
"html",
"img",
"locales",
"package.json",
"package-lock.json",
"tms_list.json"
],
"afterSign": "script/notarize/notarize.js",
"mac": {
"icon": "assets/mac/icon_mac.icns",
"target": [
"dmg"
],
"hardenedRuntime": true,
"gatekeeperAssess": false,
"entitlements": "script/notarize/entitlements.mac.plist",
"entitlementsInherit": "script/notarize/entitlements.mac.plist",
},
"win": {
"icon": "assets/win/icon_win.ico",
"target": "nsis"
},
"nsis":{
"oneClick": false,
"allowToChangeInstallationDirectory": true
}
};
module.exports = config;
但安装电子应用程序后,该应用程序在 Web 控制台上输出以下错误消息:
未捕获的错误:dlopen(/Applications/MaplatEditor.app/Contents/Resources/app.asar.unpacked/assets/mac/canvas/build/Release/canvas.node,1):未加载库:/usr/local/opt/ pixman/lib/libpixman-1.0.dylib 引用自:/Applications/MaplatEditor.app/Contents/Resources/app.asar.unpacked/assets/mac/canvas/build/Release/canvas.node 原因:找不到合适的图像。确实发现:/usr/local/opt/pixman/lib/libpixman-1.0.dylib:(/usr/local/opt/pixman/lib/libpixman-1.0.dylib)中的代码签名在使用库验证的过程中无效: 映射文件没有 cdhash,完全无符号?代码必须至少是临时签名的。
如何解决这个问题?我觉得有2个问题,
- 如何签署这个dylib?
- 这个 dylib 看起来安装在“/usr/local/opt”下,它不在应用程序文件夹中。这是正确的预期行为吗?
有人对此有答案吗?