Follow the guidelines below for building Electron itself on Linux, for the purposes of creating custom Electron binaries. For bundling and distributing your app code with the prebuilt Electron binaries, see the application distribution guide.
Due to Electron's dependency on Chromium, prerequisites and dependencies for Electron change over time. Chromium's documentation on building on Linux has up to date information for building Chromium on Linux. This documentation can generally be followed for building Electron on Linux as well.
Additionally, Electron's Linux dependency installer can be referenced to get the current dependencies that Electron requires in addition to what Chromium installs via build/install-deps.sh.
If you want to build for an arm target, you can use Electron's Linux dependency installer to install the additional dependencies by passing the --arm argument:
$ sudo install-deps.sh --armAnd to cross-compile for arm or targets, you should pass the
target_cpu parameter to gn gen:
$ gn gen out/Testing --args='import(...) target_cpu="arm"'Prebuilt clang will try to link to libtinfo.so.5. Depending on the host
architecture, symlink to appropriate libncurses:
$ sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5The default building configuration is targeted for major desktop Linux distributions. To build for a specific distribution or device, the following information may help you.
By default Electron is built with prebuilt
clang binaries provided by the
Chromium project. If for some reason you want to build with the clang
installed in your system, you can specify the clang_base_path argument in the
GN args.
For example if you installed clang under /usr/local/bin/clang:
$ gn gen out/Testing --args='import("//electron/build/args/testing.gn") clang_base_path = "/usr/local/bin"'Building Electron with compilers other than clang is not supported.