patterntypescriptModerate
Electron packaging with electron-builder
Viewed 0 times
electron-builderpackagingdmgexeAppImageinstallerdistributionasar
electronelectron-builder
Error Messages
Problem
Distributing an Electron app as a native installer (dmg, exe, AppImage) with correct metadata, icons, and file associations.
Solution
Configure electron-builder in package.json under the 'build' key. Specify appId, productName, target formats per platform, and icon paths. Run 'electron-builder build --publish never' for local builds.
Why
electron-builder handles platform-specific packaging, code signing, and installer creation with a single config file.
Gotchas
- Icons must be provided in all required sizes: icns (macOS), ico (Windows), png (Linux)
- The 'files' array in build config controls what gets bundled — be explicit to avoid bloat
- extraResources copies files outside the app.asar archive for native modules
- asar packing is enabled by default; native .node modules need asarUnpack
Code Snippets
package.json build config
"build": {
"appId": "com.example.myapp",
"productName": "MyApp",
"mac": { "target": "dmg", "icon": "assets/icon.icns" },
"win": { "target": "nsis", "icon": "assets/icon.ico" },
"linux": { "target": "AppImage", "icon": "assets/icon.png" },
"asarUnpack": ["**/*.node"]
}Revisions (0)
No revisions yet.