Instrucciones de compilación (macOS)
Siga las siguientes pautas para la construcción de Electron en sí mismo en macOS, 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
- macOS >= 11.6.0
- Xcode. La versión exacta necesaria depende de qué rama estás construyendo, pero la última versión de Xcode es generalmente una buena apuesta para construir
main
. - node.js (externo)
- Python >= 3.7
Prerrequisitos específicos de Arm-64
- Rosetta 2
- Recomendamos instalar Rosetta si usa dependencias que necesitan compilar cruzadamente en máquinas x64 y arm64. Rosetta se puede instalar utilizando la herramienta de línea de comandos de softwareupdate.
$ softwareupdate --install-rosetta
Construyendo Electron
Problemas
Errores de Xcode de "arquitectura incompatible" (específicos de MacOS arm64)
Si tanto Xcode como las herramientas de línea de comandos de Xcode están instaladas ($ xcode -select --install
, o descargar directamente la versión correcta aquí), pero el stack trace dice lo contrario:
xcrun: error: unable to load libxcrun
(dlopen(/Users/<user>/.electron_build_tools/third_party/Xcode/Xcode.app/Contents/Developer/usr/lib/libxcrun.dylib (http://xcode.app/Contents/Developer/usr/lib/libxcrun.dylib), 0x0005):
tried: '/Users/<user>/.electron_build_tools/third_party/Xcode/Xcode.app/Contents/Developer/usr/lib/libxcrun.dylib (http://xcode.app/Contents/Developer/usr/lib/libxcrun.dylib)'
(mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))), '/Users/<user>/.electron_build_tools/third_party/Xcode/Xcode-11.1.0.app/Contents/Developer/usr/lib/libxcrun.dylib (http://xcode-11.1.0.app/Contents/Developer/usr/lib/libxcrun.dylib)' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))).`
Si está en la arquitectura arm64, el script de compilación puede estar apuntando a la versión incorrecta de Xcode (11.x.y no soporta arm64). Vaya a /Users/<user>/.electron_build_tools/third_party/Xcode/
y cambie el nombre de Xcode-13.3.0.app
a Xcode.app
para asegurarse de que se utiliza la versión correcta de Xcode.
Fallo al verificar los certificados
Instalar certifi
corregirá el siguiente error:
________ running 'python3 src/tools/clang/scripts/update.py' in '/Users/<user>/electron'
Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Mac_arm64/clang-llvmorg-15-init-15652-g89a99ec9-1.tgz
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
Retrying in 5 s ...
Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Mac_arm64/clang-llvmorg-15-init-15652-g89a99ec9-1.tgz
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
Retrying in 10 s ...
Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Mac_arm64/clang-llvmorg-15-init-15652-g89a99ec9-1.tgz
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
Retrying in 20 s ...
Este problema tiene que ver con Python 3.6 usando su propia copia de OpenSSL en lugar de las bibliotecas OpenSSL obsoletas proporcionadas por Apple. certifi
agrega un paquete curado de certificados raíz predeterminados. Este asunto está documentado en el repositorio de Electron aquí. Puedes encontrar más información sobre este problema aquí y aquí.