电子构建器错误:找不到模块“dmg-license”

538*_*MEO 7 javascript macos npm electron electron-builder

我正在寻找一种简单的方法来从 Linux 机器构建适用于 macOS 的电子应用程序。

\n

不幸的是,该electron-builder -m命令不起作用,以下是该命令的完整输出:

\n
electron-builder -m              \n  \xe2\x80\xa2 electron-builder  version=22.14.13 os=5.11.0-49-generic\n  \xe2\x80\xa2 loaded configuration  file=package.json ("build" field)\n  \xe2\x80\xa2 writing effective config  file=dist/builder-effective-config.yaml\n\xe2\xa8\xaf Cannot find module \'dmg-license\'\nRequire stack:\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmgLicense.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmg.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmgUtil.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/macPackager.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/packager.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/index.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/out/builder.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/out/cli/cli.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/cli.js  failedTask=build stackTrace=Error: Cannot find module \'dmg-license\'\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试安装依赖项,但它只能安装在 macOS 上...

\n

我也尝试过安装不同的版本,包括20.37.*22.11.7@latest( 22.14.13) 和@next

\n

有没有其他方法可以为 macOS 构建应用程序(我使用的程序是出于私人目的,因此如果需要额外的用户步骤来安装也没关系)?

\n

或者有什么方法可以解决这个依赖问题?

\n

use*_*987 3

尝试:

npm i dmg-license
Run Code Online (Sandbox Code Playgroud)

也许这将是另一种构建方式。https://www.electronforge.io/

编辑:

我遇到了类似的错误,但我的问题是我创建了子目录,并且默认的 package.json 仅包含构建中的顶级目录。解决方案是更改我的电子 package.json

  "build": {
    "appId": "com.example.capacitor-app",
    "productName": "Capacitor App",
    "files": [
      "assets/*",
      "build/*",
      "preloader.js",
      "plugins/*",
      "capacitor.config.json",
      "app/**"
    ],
Run Code Online (Sandbox Code Playgroud)

  "build": {
    "appId": "com.example.capacitor-app",
    "productName": "Capacitor App",
    "files": [
      "assets/**",
      "build/**",
      "preloader.js",
      "plugins/**",
      "capacitor.config.json",
      "app/**"
    ],
Run Code Online (Sandbox Code Playgroud)

请注意,另一个人出现了cannot find module错误,因为他使用 www 而不是 app 作为角度代码目录: https: //github.com/electron-userland/electron-builder/issues/303

  • ``` npm 错误!notsup iconv-corefoundation@1.1.7 不支持的平台:需要 {"os":"darwin"} (当前:{"os":"linux","arch":"x64"}) ``` (2认同)
  • @404pio `dmg-license` 无法安装在 Ubuntu 或任何 Linux 变体中。它只能安装在 [macOS (`darwin`)](https://en.wikipedia.org/wiki/Darwin_(operating_system)) 中。 (2认同)