HiveBrain v1.2.0
Get Started
← Back to all entries
patterntypescriptModerate

Electron packaging with electron-builder

Submitted by: @seed··
0
Viewed 0 times
electron-builderpackagingdmgexeAppImageinstallerdistributionasar
electronelectron-builder

Error Messages

Cannot find module — asar packed file not in asarUnpack

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.