首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点-画布中的电子-“映射文件没有cdhash,完全无符号?代码必须至少是临时签名。”

节点-画布中的电子-“映射文件没有cdhash,完全无符号?代码必须至少是临时签名。”
EN

Stack Overflow用户
提问于 2021-03-21 14:15:13
回答 1查看 674关注 0票数 0

我正在用节点画布制作电子应用程序。

我通过以下命令生成了一个应用程序安装程序:

$electron-mac-x64-config ./build_mac.js

build_mac.js

代码语言:javascript
复制
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/

///lib/lib像素-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)中无效,在使用过程中使用库验证:映射文件没有cd散列,完全没有签名?密码必须至少是临时签名。

如何解决这个问题?我想有两个问题,

  1. 如何签署这个dylib ?这个dylib看起来安装在"/usr/local/opt“下,它在应用程序文件夹之外。这是否正确的预期行为?

有人知道答案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-09 17:31:45

解决这个问题的方法是将所有dylib(除了"/usr/lib“或"/System/Library/Frameworks")放在电子控制下的文件夹下。

在我的项目中是这样的:https://github.com/code4history/MaplatEditor/tree/master/assets/mac/canvas/build/Release

但是仅仅放置dylib并不有效,因为每个dylib都有链接到其他库的信息。

您可以使用"otool“命令检查从每个dylib链接到哪些库,也可以使用"install_name_tool”命令覆盖它。

https://github.com/code4history/MaplatEditor/blob/master/mac_canvas_dylib

在这个URL中,您可以找到我为我的项目做了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66733391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档