Aller au contenu principal

Instructions de Build (Linux)

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.

Prérequis

  • Au moins 25GB d'espace disque et 8 Go de RAM.
  • Python >= 3.7.
  • Node.js. Il y a différentes façons d’installer Node. Vous pouvez télécharger le code source depuis nodejs.org et le compiler vous-même. Cela permet l’installation de Node sur votre propre répertoire comme un utilisateur standard. Ou essayez les dépôts tels que NodeSource.
  • clang 3.4 ou plus.
  • En-têtes de développement de GTK+ et libnotify.

On Ubuntu >= 20.04, install the following libraries:

$ sudo apt-get install build-essential clang libdbus-1-dev libgtk-3-dev \
libnotify-dev libasound2-dev libcap-dev \
libcups2-dev libxtst-dev \
libxss1 libnss3-dev gcc-multilib g++-multilib curl \
gperf bison python3-dbusmock openjdk-8-jre

On Ubuntu < 20.04, install the following libraries:

$ sudo apt-get install build-essential clang libdbus-1-dev libgtk-3-dev \
libnotify-dev libgnome-keyring-dev \
libasound2-dev libcap-dev libcups2-dev libxtst-dev \
libxss1 libnss3-dev gcc-multilib g++-multilib curl \
gperf bison python-dbusmock openjdk-8-jre

Sur RHEL / CentOS, installez les bibliothèques suivantes :

$ sudo yum install clang dbus-devel gtk3-devel libnotify-devel \
libgnome-keyring-devel xorg-x11-server-utils libcap-devel \
cups-devel libXtst-devel alsa-lib-devel libXrandr-devel \
nss-devel python-dbusmock openjdk-8-jre

Sur Fedora, installez les bibliothèques suivantes :

$ sudo dnf install clang dbus-devel gtk3-devel libnotify-devel \
libgnome-keyring-devel xorg-x11-server-utils libcap-devel \
cups-devel libXtst-devel alsa-lib-devel libXrandr-devel \
nss-devel python-dbusmock openjdk-8-jre

On Arch Linux / Manjaro, install the following libraries:

$ sudo pacman -Syu base-devel clang libdbus gtk2 libnotify \
libgnome-keyring alsa-lib libcap libcups libxtst \
libxss nss gcc-multilib curl gperf bison \
python2 python-dbusmock jdk8-openjdk

Other distributions may offer similar packages for installation via package managers such as pacman. Ou on peut compiler à partir du code source.

Multi-compilation

Si vous voulez compiler une version arm, vous devez installer les dépendances suivantes :

$ sudo apt-get install libc6-dev-armhf-cross linux-libc-dev-armhf-cross \
g++-arm-linux-gnueabihf

De même pour arm64, installez ce qui suit :

$ sudo apt-get install libc6-dev-arm64-cross linux-libc-dev-arm64-cross \
g++-aarch64-linux-gnu

And 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"'

Compilation

Voir les Instructions de compilation : GN

Résolution de problème

Erreur lors du chargement Shared Libraries : libtinfo.so.5

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.5

Sujets Avancés

The default building configuration is targeted for major desktop Linux distributions. To build for a specific distribution or device, the following information may help you.

Utiliser le système clang au lieu des fichiers binaires téléchargés clang

Par défaut, Electron est compilé avec les binaires précompilés de clang fournis par le projet Chromium. Si pour une raison quelconque, vous souhaitez construire avec le clang installé dans votre système, vous pouvez spécifier l'argument clang_base_path dans le GN args.

Par exemple, si vous avez installé clang sous /usr/local/bin/clang :

$ gn gen out/Testing --args='import("//electron/build/args/testing.gn") clang_base_path = "/usr/local/bin"'

Utiliser un compilateur autre que clang

La construction d'électrons avec des compilateurs autres que clang n'est pas prise en charge.