Electron package guidelines (Português)

Status de tradução:
Esse artigo é uma tradução de
Electron package guidelines
. Data da última tradução: 2020-04-18. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Diretrizes de pacotes do Arch
32-bit
–
CLR
–
CMake
–
Cross
–
DKMS
–
Eclipse
–
Electron
–
Fonte
–
Free Pascal
–
GNOME
–
Go
–
Haskell
–
Java
–
KDE
–
Kernel
–
Lisp
–
Meson
–
MinGW
–
Node.js
–
Nonfree
–
OCaml
–
Perl
–
PHP
–
Python
–
R
–
Ruby
–
Rust
–
Shell
–
VCS
–
Web
–
Wine
Este documento abrange padrões e diretrizes para escrever
PKGBUILDs
para
Electron
.
Usando o electron do sistema
Arch Linux fornece o pacote
electron
e pacotes versionados
electron*
que podem ser usados para executar um aplicativo electron por meio de um
wrapper
de shellscript:
#!/bin/sh

exec electron /caminho/para/
nome_do_app
/ "$@"
O diretório
nome_do_app
/
ou, alternativamente, um pacote de arquivo chamado
nome_do_app
.asar
, pode ser localizado em um aplicativo electro pré-compilado como a pasta
resources/app/
(ou
resources/app.asar
). Todo resto é apenas uma cópia de
runtime
do electron e pode ser removido no pacote resultante.
Construindo extensões compiladas com o electron do sistema
Alguns aplicativos de electron compilaram extensões nativas vinculadas ao
runtime
do electron e devem ser compiladas usando a versão correta de electron. Como o npm/yarn sempre será compilado com uma cópia pré-compilada privada de electron, aplique um
patch
na dependência de electron de
package.json
para referenciar a mesma versão da dependência de electron do sistema. O sistema de compilação irá baixar a cópia pré-compilada que precisar, compilará as extensões nativas e empacotará tudo em uma distribuição final, mas isso pode ser removido durante a etapa
package()
como de costume.
Alternativamente, você pode remover a dependência de electron do
package.json
e definir as variáveis de ambiente corretas antes de executar o npm:
export npm_config_target=$(tail /usr/lib/electron/version)
export npm_config_arch=x64
export npm_config_target_arch=x64
export npm_config_disturl=
https://atom.io/download/electron
export npm_config_runtime=electron
export npm_config_build_from_source=true
HOME="$srcdir/.electron-gyp" npm install
Configure
HOME
para um caminho dentro do
$srcdir
para que o processo de compilação não coloque nenhum arquivo em seu diretório real
HOME
. Certifique-se de ajustar o caminho para todos os comandos adicionais que fazem uso do cache
.electron-gyp
.
(mais detalhes
aqui
).
Usando electron-builder com electron do sistema
Muitos projetos usam o
electron-builder
para compilar e empacotar o arquivo JavaScript e os binários Electron. Por padrão, o electron-builder baixa toda a versão de electron definida no arquivo de gerenciamento de pacotes (por exemplo,
package.json
). Isso pode não ser desejado se você quiser usar o electron do sistema e economizar a largura de banda, já que você vai jogar fora os binários de electron de qualquer maneira. O electron-builder fornece as configurações
electronDist
e
electronVersion
, para especificar um caminho personalizado de Electron e a versão para a qual o aplicativo é empacotado, respectivamente.
Encontre o arquivo de configuração do electron-builder (por exemplo,
electron-builder.json
) e adicione as seguintes configurações:
electronDist
com
/usr/lib/electron
para
electron
ou
/usr/lib/electron2
para
electron2
AUR
[
link quebrado
: package not found]
electronVersion
com o conteúdo de
/usr/lib/electron/version
sem o
v
no início
Pacotes que aplicam isso:
rocketchat-desktop
AUR
ubports-installer-git
AUR
Configuração do electron-builder
[
link inativo
2024-10-12 ⓘ]
Como alternativa, você pode usar a CLI para alterar/adicionar essas configurações da seguinte maneira:
./node_modules/.bin/electron-builder --linux --x64 --dir $dist -c.electronDist=$electronDist -c.electronVersion=$electronVer
Observe que você precisa especificar todas essas opções ou elas não funcionarão.
Pacotes que aplicam isso:
deezloader-remix-git
AUR
[
link quebrado
: package not found]
Arquitetura
Veja
PKGBUILD (Português)#arch
.
Um pacote Electron que contém extensões nativas compiladas depende da arquitetura. Caso contrário, é mais provável que seja independente de arquitetura.
Se o pacote contiver uma cópia pré-compilada do electron, será sempre dependente da arquitetura.
Estrutura de diretórios
Se o pacote é dependente de arquitetura, instale o diretório
resources/app/
em
/usr/lib/
nome_do_app
/
. Do contrário, use
/usr/share/
nome_do_app
/
.
Se o pacote contém uma cópia pré-compilada de electron, copie toda a distribuição final para
/opt/
nome_do_app
.