To install prebuilt Electron binaries, use
The preferred method is to install Electron as a development dependency in your
npm install electron --save-dev
See the Electron versioning doc for info on how to manage Electron versions in your apps.
You can also install the
electron command globally in your
npm install electron -g
If you want to change the architecture that is downloaded (e.g.,
ia32 on an
x64 machine), you can use the
--arch flag with npm install or set the
npm_config_arch environment variable:
npm install --arch=ia32 electron
In addition to changing the architecture, you can also specify the platform
linux, etc.) using the
npm install --platform=win32 electron
If you need to use an HTTP proxy, you need to set the
ELECTRON_GET_USE_PROXY variable to any
value, plus additional environment variables depending on your host system's Node version:
During installation, the
electron module will call out to
@electron/get to download prebuilt binaries of
Electron for your platform. It will do so by contacting GitHub's
release download page (
$VERSION is the exact version of Electron).
If you are unable to access GitHub or you need to provide a custom build, you can do so by either providing a mirror or an existing cache directory.
You can use environment variables to override the base URL, the path at which to
look for Electron binaries, and the binary filename. The url used by
is composed as follows:
url = ELECTRON_MIRROR + ELECTRON_CUSTOM_DIR + '/' + ELECTRON_CUSTOM_FILENAME
For instance, to use the China mirror:
Alternatively, you can override the local cache.
electron-download will cache
downloaded binaries in a local directory to not stress your network. You can use
that cache folder to provide custom builds of Electron or to avoid making contact
with the network at all.
On environments that have been using older versions of Electron, you might find the
cache also in
You can also override the local cache location by providing a
The cache contains the version's official zip file as well as a checksum, stored as a text file. A typical cache might look like this:
├── electron-v1.7.9-darwin-x64.zip ├── electron-v1.8.1-darwin-x64.zip ├── electron-v1.8.2-beta.1-darwin-x64.zip ├── electron-v1.8.2-beta.2-darwin-x64.zip ├── electron-v1.8.2-beta.3-darwin-x64.zip ├── SHASUMS256.txt-1.7.9 ├── SHASUMS256.txt-1.8.1 ├── SHASUMS256.txt-1.8.2-beta.1 ├── SHASUMS256.txt-1.8.2-beta.2 ├── SHASUMS256.txt-1.8.2-beta.3
When installing the
electron NPM package, it automatically downloads the electron binary.
This can sometimes be unnecessary, e.g. in a CI environment, when testing another component.
To prevent the binary from being downloaded when you install all npm dependencies you can set the environment variable
ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install
npm install electron, some users occasionally encounter
In almost all cases, these errors are the result of network problems and not
actual issues with the
electron npm package. Errors like
ETIMEDOUT are all indications of such
network problems. The best resolution is to try switching networks, or
wait a bit and try installing again.
You can also attempt to download Electron directly from
if installing via
npm is failing.
If installation fails with an
EACCESS error you may need to
fix your npm permissions.
If the above error persists, the unsafe-perm flag may need to be set to true:
sudo npm install electron --unsafe-perm=true
On slower networks, it may be advisable to use the
--verbose flag in order to
show download progress:
npm install --verbose electron
If you need to force a re-download of the asset and the SHASUM file set the
force_no_cache environment variable to