Saltar al contenido principal

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. For bundling and distributing your app code with the prebuilt Electron binaries, see the application distribution guide.

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

Y para compilar de forma cruzada para arm o ia32, debería pasar el parámetro target_cpu a gn gen:

$ gn gen out/Debug --args='import(...) target_cpu="arm"'

Compilando

Ver Build Instructions: GN

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.