ノードキャンバスを使用して電子アプリを作成しています。
次のコマンドで app-installer を生成しました。
$ 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;
しかし、electron アプリをインストールした後、アプリは 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" の下にインストールされているように見えますが、アプリケーション フォルダーの外にあります。これは正しい予想される動作ですか?
誰もこれに対する答えを持っていますか?