I am looking for a simple way to build an electron app for macOS, from a linux machine.
Unfortunately, the electron-builder -m command doesn't work, here is the full output of the command:
electron-builder -m
• electron-builder version=22.14.13 os=5.11.0-49-generic
• loaded configuration file=package.json ("build" field)
• writing effective config file=dist/builder-effective-config.yaml
⨯ Cannot find module 'dmg-license'
Require stack:
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmgLicense.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmg.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmgUtil.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/macPackager.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/packager.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/index.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/out/builder.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/out/cli/cli.js
- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/cli.js failedTask=build stackTrace=Error: Cannot find module 'dmg-license'
I have tried to install the dependency but it can be installed only on macOS...
I have also tried to install different versions, including 20.37.*,22.11.7, @latest (22.14.13) and @next
Is there any alternative way to build an app for macOS (the program I am using is for private purpose, so it's ok if it takes extra user steps to install) ?
Or any way to fix this dependency issue ?
Try:
npm i dmg-license
Perhaps this would be an alternative way to build. https://www.electronforge.io/
EDIT:
I had a similar error but my issue was I created subdirectories and the default package.json only included the top level directory in the build. The solution was to change in my electron package.json
"build": {
"appId": "com.example.capacitor-app",
"productName": "Capacitor App",
"files": [
"assets/*",
"build/*",
"preloader.js",
"plugins/*",
"capacitor.config.json",
"app/**"
],
To
"build": {
"appId": "com.example.capacitor-app",
"productName": "Capacitor App",
"files": [
"assets/**",
"build/**",
"preloader.js",
"plugins/**",
"capacitor.config.json",
"app/**"
],
Note another person had a cannot find module error because he was using www instead of app for the angular code directory: https://github.com/electron-userland/electron-builder/issues/303
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With