从 electronjs 项目创建 debian 文件时显示错误

Posted

技术标签:

【中文标题】从 electronjs 项目创建 debian 文件时显示错误【英文标题】:error showing while creating a debian file from electronjs project 【发布时间】:2019-11-28 15:30:03 【问题描述】:

我在制作electronjs的deb文件时遇到以下错误

  Error: could not find the Electron app binary at "dist/app-linux-x64/koriwallet". You may need to re-bundle the app using Electron Packager's "executableName" option.

我的 package.json 文件是 “姓名”:“钱包”, “版本”:“1.0.0”, “描述”:“钱包”, "main": "src/main.js", “脚本”: “开始”:“电子。”, "build": "electron-packager.myapp", "pack": "电子制造商 --dir", “dist”:“电子制造商”, "deb64": "electron-installer-debian --src dist/app-linux-x64/ --dest dist/installers/ --arch amd64" , “作者”:“钱包”, “许可证”:“ISC”, “开发依赖”: "asar": "^2.0.1", “电子”:“^5.0.6”, “电子制造商”:“^21.1.1”, “电子安装程序-debian”:“^2.0.0”, “电子包装器”:“^14.0.2” , “electronPackagerConfig”: "packageManager": "npm", “executableName”:“kori” , “建造”: "appId": "钱包", “Linux”: “类别”:“钱包” , “依赖”: "cookies": "^0.7.3", “加密”:“^1.0.1”, "dpkg": "^1.0.0", "jquery": "^3.4.1", “jStorage”:“^0.4.8”

【问题讨论】:

【参考方案1】:

我的 2 美分。我正在制作一个 Fedora 30 rpm 并得到:

Forge 内部发生未处理的错误: 制作目标时发生错误:rpm 在“/home/ajm/Documents/Projects/sunstealer.ets/out/sunstealer.ets product-linux-x64/sunstealer.ets”中找不到 Electron 应用程序二进制文件。您可能需要使用 Electron Packager 的“executableName”选项重新捆绑应用程序。 错误:在“/home/ajm/Documents/Projects/sunstealer.ets/out/sunstealer.ets product-linux-x64/sunstealer.ets”中找不到 Electron 应用程序二进制文件。您可能需要使用 Electron Packager 的“executableName”选项重新捆绑应用程序。 在 error.wrapError (/home/ajm/Documents/Projects/sunstealer.ets/node_modules/electron-installer-common/src/installer.js:145:15)

修复是从

更新 package.json

"name": "sunstealer.ets", "productName": "sunstealer.ets 产品",

到:

"name": "sunstealer.ets", "productName": "sunstealer.ets",

即相同的值。然后 npm run make :

"forge": 
  "packagerConfig": ,
  "makers": [
    
      "name": "@electron-forge/maker-squirrel",
      "config": 
        "certificateFile": "./certs/adam_mauger.pfx",
        "certificatePassword": "REDACTED"
      
    ,
    
      "name": "@electron-forge/maker-dmg",
      "config": 
        "format": "ULFO"
      
    ,
    
      "name": "@electron-forge/maker-rpm",
      "config": 
      
    ,

创建了 sunstealer.ets-1.0.0-1.x86_64.rpm。希望对您有所帮助。

【讨论】:

感谢您的解决方案。我的重命名为 packagerConfig.namepackagerConfig.executableName 到与 package.json 中的 name 相同的值 :)【参考方案2】:

我的 5 美分) 所以,从根文件夹启动 npm。存在 node_modules。 应用程序存储在 root/src 中。存在 node_modules。 在 root 和 root/src 中有 package.json 检查 root/src/package.json 文件。也许参数“name”的默认值是小写的

【讨论】:

以上是关于从 electronjs 项目创建 debian 文件时显示错误的主要内容,如果未能解决你的问题,请参考以下文章

Electron - 如何在 linux 上创建深度链接

如何在Windows中为Visual Studio项目创建Debian安装包?

如何将 Python + Electron JS 编译成桌面应用程序(exe)

React + electronjs 实现桌面软件开发引入 electronjs 及 node api

Electron JS + SQLite 数据库

electronjs $(...).modal 不是函数