Instrucciones de compilación (Linux)
Siga las siguientes pautas para la construcción de Electron en sí mismo en Linux, con el fin de crear binarios personalizados de Electron. Para empaquetar y distribuir su código de aplicación con los binarios preconstruidos de Electron vea la guía distribución de aplicaciones.
Prerequisites
- Al menos 25 GB de espacio en disco y 8 GB de RAM.
- Python >= 3.7.
- Node.js. Hay varias formas de instalar Node. Puede descargar el código fuente de nodejs.org y compilarlo. Hacerlo permite instalar Node en el directorio de tu propia casa como un usuario estándar. O intente repositorios como NodeSource.
- clang 3.4 o superior.
- Intent://details? id=com. brave. browser&inline=true&enifd=AMO2QMb0CSz5COdTlkER7Sp6HHD4DjJgznUKZTpCWY1PNEDyw3f3S18a2BYrh9lnWDGFpdiOLfIdgKAfmW3K4fqsUff6jhTk0RLPCG_dLZaZRIP37xDnMmI&gclid=EAIaIQobChMI-47S7eP46gIVgobACh1iJgX6EAMYASAAEgJPW_D_BwE&gref=EikQAhohChsKEwj7jtLt4_jqAhWChsAKHWImBfoQAxgBIAASAk9b8P8HARioypigAyIIGAUgATABOAc#Intent; scheme=market; package=com. android. vending; end.
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
En RHEL / CentOS, instala las siguientes librerías:
$ 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
En Fedora, instala las siguientes librerías:
$ 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
En Arch Linux/Manjaro, instala las siguientes librerías:
$ 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
Otras distribuciones pueden ofrecer paquetes similares para la instalación mediante administradores de de paquetes como pacman. O uno puede compilar desde el código fuente.
Compilación cruzada
Si quiere compilar para la arquitectura arm
debe instalar también las siguientes dependencias:
$ sudo apt-get install libc6-dev-armhf-cross linux-libc-dev-armhf-cross \
g++-arm-linux-gnueabihf
Del mismo modo para arm64
, instale los siguientes:
$ 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/Debug --args='import(...) target_cpu="arm"'
Compilando
Problemas
Error al cargar las bibliotecas compartidas: libtinfo.so.5
El clang
precompilado intentará crear una liga a libtinfo.so.5
. Dependiendo de la arquitectura del host, haz symlink a libncurses
:
$ sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5
Tópicos Avanzados
La configuración de construcción predeterminada está destinada a las principales distribuciones de de Linux de escritorio. Para compilar para una distribución o dispositivo específico, la siguiente información puede ayudarte.
Usando el sistema clang
en vez del binario descarado clang
Por defecto, Electron se compila con archivos binarios clang
predefinidas por el proyecto Chromium. 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.
Por ejemplo si usted instaló clang
en /usr/local/bin/clang
:
$ gn gen out/Testing --args='import("//electron/build/args/testing.gn") clang_base_path = "/usr/local/bin"'
Usando otros compiladores además de clang
Building Electron with compilers other than clang
is not supported.