Zum Hauptteil springen

Build Anweisungen (Linux)

Befolge die folgenden Richtlinien für die Erstellung von Electron selbst unter Linux, um eigene Electron-Binärdateien zu erstellen. Wie du deinen Anwendungscode mit den vorgefertigten Electron-Binärdateien bündelst und verteilst, findest du in der Anleitung Anwendungsdistribution.

Vorrausetzungen

  • Mindestens 25 GB Festplattenspeicher und 8 GB Arbeitsspeicher.
  • Python >= 3.7.
  • Node.js. Es gibt verschiedene Möglichkeiten, Node zu installieren. Du kannst den Quellcode von nodejs.org herunterladen und kompilieren. Dies ermöglicht die Installation von Node in deinem eigenen Home-Verzeichnis als Standardbenutzer. Oder versuche es mit Repositories wie NodeSource.
  • Clang 3.4 oder höher.
  • Entwicklungsheader von GTK 3 und libnotify.

Unter Ubuntu >= 20.04 installiere die folgenden Bibliotheken:

$ 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

Unter Ubuntu < 20.04 installiere die folgenden Bibliotheken:

$ 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

Unter RHEL / CentOS, Installiere die folgenden Bibliotheken:

$ 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

Unter Fedora, Installiere folgende Bibliotheken:

$ sudo dnf install clang dbus-devel gperf gtk3-devel \
libnotify-devel libgnome-keyring-devel libcap-devel \
cups-devel libXtst-devel alsa-lib-devel libXrandr-devel \
nss-devel python-dbusmock

Unter Arch Linux / Manjaro, Installiere folgende Bibliotheken:

$ 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

Andere Distributionen bieten möglicherweise ähnliche Pakete zur Installation über Paket Manager wie pacman. Oder man kompiliert aus dem Quellcode.

Cross compilation

If you want to build for an arm target you should also install the following dependencies:

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

Ähnlich für arm64, installiere Folgendes:

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

Building

Siehe Build Instruktionen: GN

Problemlösungen

Fehler beim Laden gemeinsamer Bibliotheken: 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

Erweiterte Themen

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.

Using system clang instead of downloaded clang binaries

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

Using compilers other than clang

Building Electron with compilers other than clang is not supported.