是否可以通过 npm(而不是 yarn)打包 Electron-builder?

Is packaging an Electron-builder via npm (not yarn) possible?

我已经使用 Electron 环境(本身基于 Node.js)创建了一个 python3 应用程序。
对于这个应用程序,依赖项已使用 npm 安装,我的应用程序使用 npm start 命令启动。

关注 documentation of Electron, it seems that Electron-builder is the best option for distributing my app for all platforms. Unfortunately, the installation guide recommends using yarn, not npm as npm might not be working properly : see related ticket

现在我的问题是:由于票证相当旧(2017 年),现在是否可以使其与 npm 一起使用?是的,怎么样?

如果无法使其与 npm 一起工作,我该如何将我的代码转换为 yarn?

相关信息:
我问的原因是因为当我 运行 命令 npm run dist 时收到 BIIIIIG 错误消息。 如果需要,我可以编辑 post 以包含它(与我的 package.json 文件一起)

提前致谢。

编辑:添加错误和package.json

{
  "name": "APP_NAME",
  "version": "1.0.0",
  "description": "The first version of APP_NAME's GUI.",
  "main": "index.js",
  "homepage": "https://docenhance.com",
  "author": "DocEnhance <nootaku@gmail.com>",
  "license": "MIT",
  "scripts": {
    "postinstall": "electron-builder install-app-deps",
    "start": "npm install && electron .",
    "pack": "electron-builder --dir",
    "dist": "electron-builder"
  },
  "build": {
    "appId": "com.docenhance.APP_NAME",
    "productName": "APP_NAME - PROJECT_NAME",
    "linux": {
      "target": "deb",
      "icon": "build/icon.icns",
      "category": "Office"
    }
  },

  "devDependencies": {
    "bootstrap": "^4.1.2",
    "electron": "^4.0.7",
    "electron-builder": "^20.39.0",
    "jquery": "^3.3.1"
  },
  "dependencies": {
    "bootstrap": "^4.3.1",
    "jquery": "^3.3.1",
    "popper.js": "^1.14.7",
    "python-shell": "^1.0.7"
  }
}

可以找到错误文件HERE

是的,您可以使用 npm。解释了 yargs 问题 here

您的错误消息告诉您 。 . .错误是什么。

error output:[ERROR] Unknown input file format: /home/MYUSERNAME/Documents/APP_DIRECTORY/dist/.icon-set/icon_ICN#.jp2 Known file formats are *.j2k, *.jp2, *.jpc or *.jpt

我不使用或处理 Linux,所以我不确定是否属于这种情况,但您为您的图标指定了 .icns 文件格式。那是一个OSX icon file format。您的错误消息说 Electron Builder 不知道如何处理它(Linux)。

"linux": {
      "target": "deb",
      "icon": "build/icon.icns",
      "category": "Office"
    }

其余可怕的错误文本可能只是由此而来。