``` Commands: electron-builder build Build [default] electron-builder install-app-deps Install app deps electron-builder node-gyp-rebuild Rebuild own native code electron-builder create-self-signed-cert Create self-signed code signing cert for Windows apps electron-builder start Run application in a development mode using electron-webpack electron-builder publish Publish any files with your publish config Building: --mac, -m, -o, --macos Build for macOS, accepts target list (see https://goo.gl/5uHuzj). [array] --linux, -l Build for Linux, accepts target list (see https://goo.gl/4vwQad) [array] --win, -w, --windows Build for Windows, accepts target list (see https://goo.gl/jYsTEJ) [array] --x64 Build for x64 [boolean] --ia32 Build for ia32 [boolean] --armv7l Build for armv7l [boolean] --arm64 Build for arm64 [boolean] --universal Build for universal (mac only) [boolean] --dir Build unpacked dir. Useful to test. [boolean] --prepackaged, --pd The path to prepackaged app (to pack in a distributable format) --projectDir, --project The path to project directory. Defaults to current working directory. --config, -c The path to an electron-builder config. Defaults to `electron-builder.yml` (or `json`, or `json5`, or `js`, or `ts`), see https://goo.gl/YFRJOM Publishing: --publish, -p Publish artifacts (to GitHub Releases), see https://goo.gl/tSFycD [choices: "onTag", "onTagOrDraft", "always", "never", undefined] ----- electron-builder publish Publish a list of artifacts Options: -v, --version The app/build version used when searching for an upload release (used by some Publishers) [string] --help Show help [boolean] -f, --files The file(s) to upload to your publisher [array] [required] -c, --config The path to an electron-builder config. Defaults to `electron-builder.yml` (or `json`, or `json5`, or `js`, or `ts`), see https://goo.gl/YFRJOM [string] Other: --help Show help [boolean] --version Show version number [boolean] ``` For other commands please see help using `--help` arg, e.g. `./node_modules/.bin/electron-builder install-app-deps --help` !!! tip Since Node.js 8 [npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b) is bundled, so, you can simply use `npx electron-builder`. Prepend `npx` to sample commands below if you run it from Terminal and not from `package.json` scripts. !!! example "build for macOS, Windows and Linux" `electron-builder -mwl` !!! example "build deb and tar.xz for Linux" `electron-builder --linux deb tar.xz` !!! example "build NSIS 32-bit installer for Windows" `electron-builder --windows nsis:ia32` !!! example "set package.json property `foo` to `bar`" `electron-builder -c.extraMetadata.foo=bar` !!! example "configure unicode options for NSIS" `electron-builder -c.nsis.unicode=false` ## Target Without target configuration, electron-builder builds Electron app for current platform and current architecture using default target. * macOS - DMG and ZIP for Squirrel.Mac. * Windows - [NSIS]./nsis.md). * Linux: - if you build on Windows or macOS: [Snap](./snap.md) and [AppImage](./appimage.md) for x64. - if you build on Linux: [Snap](./snap.md) and [AppImage](./appimage.md) for current architecture. Platforms and archs can be configured or using [CLI args](https://github.com/electron-userland/electron-builder#cli-usage), or in the configuration. For example, if you don't want to pass `--ia32` and `--x64` flags each time, but instead build by default NSIS target for all archs for Windows: !!! example "Configuration" package.json ```json "build": { "win": { "target": [ { "target": "nsis", "arch": [ "x64", "ia32" ] } ] }, "mac": { "target": [ { "target": "dmg", "arch": [ "universal" ] } ] } } ``` electron-builder.yml ``` yaml win: target: - target: nsis arch: - x64 - ia32 mac: target: - target: dmg arch: universal ``` electron-builder.config.js ```js module.exports = { "win": { "target": [ { "target": "nsis", "arch": [ "x64", "ia32" ] } ] }, "mac": { "target": [ { "target": "dmg", "arch": [ "universal" ] } ] } } ``` and use ``` build -wl ``` ### TargetConfiguration * **target** String - The target name. e.g. `snap`. * arch "x64" | "ia32" | "armv7l" | "arm64" | "universal" - The arch or list of archs.