* Update build instructions to correctly reflect python version on CentOS that has Python 2.6. * Correct Fedora package install command. Fedora now uses 'dnf' not 'yum'. * Add RHEL / CentOS section that does use 'yum' for package install.
4.5 KiB
Instruções de Build (Linux)
Siga as orientações abaixo pra fazer o build do Electron no Linux.
Pré-requisitos
- Python 2.7.x. Algumas distribuições como CentOS 6.x ainda usam Python 2.6.x,
então você precisa checar a sua versão do Python com
python -V
. - Node.js v0.12.x. Há várias maneiras de instalar o Node. Você pode baixar o código fonte do Node.js e compilar a partir dele. Fazer isto permite que você instale o Node no seu próprio diretório home como um usuário comum. Ou tente repositórios como NodeSource.
- Clang 3.4 ou mais recente.
- Cabeçalhos de desenvolvimento do GTK+ e libnotify.
No Ubuntu, instale as seguintes bibliotecas:
$ sudo apt-get install build-essential clang libdbus-1-dev libgtk2.0-dev \
libnotify-dev libgnome-keyring-dev libgconf2-dev \
libasound2-dev libcap-dev libcups2-dev libxtst-dev \
libxss1 libnss3-dev gcc-multilib g++-multilib
No RHEL / CentOS, instale as seguintes bibliotecas:
$ sudo yum install clang dbus-devel gtk2-devel libnotify-devel \
libgnome-keyring-devel xorg-x11-server-utils libcap-devel \
cups-devel libXtst-devel alsa-lib-devel libXrandr-devel \
GConf2-devel nss-devel
No Fedora, instale as seguintes bibliotecas:
$ sudo dnf install clang dbus-devel gtk2-devel libnotify-devel \
libgnome-keyring-devel xorg-x11-server-utils libcap-devel \
cups-devel libXtst-devel alsa-lib-devel libXrandr-devel \
GConf2-devel nss-devel
Outras distribuições podem oferecer pacotes similares para instalação através do gerenciador de pacotes como o pacman. Ou você pode compilar a partir do código fonte.
Se Você Utilizar Máquinas Virtuais Para Fazer O Build
Se você planeja fazer o build do Electron numa máquina virtual, você vai precisar de um container de tamanho fixo de pelo menos 25 gigabytes.
Baixando o Código
$ git clone https://github.com/electron/electron.git
Bootstrapping
O script de boostrap irá baixar todas as dependências de build necessárias
e criar os arquivos de projeto do build. Você deve ter o Python 2.7.x para
executar o script com sucesso.
Baixar certos arquivos pode demorar bastante. Note que estamos utilizando
ninja
para fazer o build do Electron, então não há um Makefile
gerado.
$ cd electron
$ ./script/bootstrap.py -v
Compilação Cruzada
Se você quer fazer o build para arm
, você também deve instalar as seguintes
dependências:
$ sudo apt-get install libc6-dev-armhf-cross linux-libc-dev-armhf-cross \
g++-arm-linux-gnueabihf
E para fazer a compilação cruzada para arm
ou ia32
, você deve passar
o parâmetro --target_arch
para o script bootstrap.py
:
$ ./script/bootstrap.py -v --target_arch=arm
Building
Se você quiser fazer o build para Release
e Debug
:
$ ./script/build.py
Este script irá fazer com que um executável bem pesado do Electron seja
criado no diretório out/R
. O arquivo possui mais de 1.3 gigabytes.
Isso acontece por que o binário do Release contém símbolos de debugging.
Para reduzir o tamanho do arquivo, rode o script create-dist.py
:
$ ./script/create-dist.py
Isso irá colocar uma distribuição funcional com arquivos muito menores
no diretório dist
. Depois de rodar o script create-dist.py
, talvez
você queira remover o binário de 1.3+ gigabytes que ainda está em out/R
.
Você também pode fazer apenas o build de Debug
:
$ ./script/build.py -c D
Depois de completar o build, você pode encontrar o binário de debug do electron
em out/D
.
Limpando
Para limpar os arquivos de build:
$ ./script/clean.py
Troubleshooting
Certifique-se de que você tenha instalado todas as dependências do build.
Error While Loading Shared Libraries: libtinfo.so.5
O clang
prebuilt irá tentar fazer o link com libtinfo.so.5
. Dependendo
da arquitetura do host, faça um link simbólico para o libncurses
apropriado:
$ sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5
Testes
Teste suas modificações conforme o estilo de código do projeto utilizando:
$ ./script/cpplint.py
Teste funcionalidade utilizando:
$ ./script/test.py