Electron 构建记录

系列 - Electron学习笔记

System:Windows 11

Python:Python 3.13.3

node:v22.14.0

npm:10.9.2

yarn:1.22.22

足够的磁盘空间和流量

Electron  是嵌入  Chromium  和  Node.js  到 二进制进行开发,所以在构建Electron时显然也要准备这两者的开发环境。

参考Chromium 此页拉取depot_tools

拉取完毕之后,将depot_tools的路径加入到系统变量path中,并将变量位置上移到至少git变量之前。

depot_tools需要本机安装了Git for Windows,以及python 3.8

报错信息:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ gclient --version
Updating depot_tools...
WARNING:root:depot_tools will stop bundling Git for Windows on 2025-01-27.
To prepare for this change, please install Git directly. See
https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md#Install-git

Having issues and not ready for depot_tools to stop bundling
Git for Windows? File a bug at:
https://issues.chromium.org/issues/new?component=1456702&template=2045785

ERROR:root:Failed to bootstrap depot_tools.
Git was not found in PATH. Have you installed it?

本机使用Scoop安装大部分的软件,难过的是通过这样下载的git无法被depot_tools工具识别,只能卸载本机当前的git后在git重新下载一遍,之后的gclient

本篇使用的脚本是Electron build-tools

按照 readme 的提示安装:

1
npm i -g @electron/build-tools

在本机找好存放源码的位置后,进行:

1
e init --root=~/electron --bootstrap testing

--root=~/electron是拉取的时候想要存源码的位置,如果留空则在当前路径下,建议选择合适的磁盘,至少光是源码已经占据 20 多个 G 了,考虑到之后还有依赖包。

e init ...命令执行到一半,发现中断在某处,重新进行e sync -f后,出现找不到 npm 命令的反馈。

1
2
3
4
$ e sync -f
Checking for build-tools updates
'npm' 不是内部或外部命令,也不是可运行的程序或批处理文件
'npx' 不是内部或外部命令,也不是可运行的程序或批处理文件

进行拉取时,脚本在执行到大约python script/lib/npx.py yarn@1.15.2 install --frozen-lockfile的时候发生了报错,称FileNotFoundError: [WinError 2],导致ERROR gclient sync failed失败。

仔细阅读日志之后,先在命令行直接执行上述脚本语句,发现运行是正常的,同时想的本机在平时开发使用 python、node.js 均没有出现找不到命令的问题,且实验当时在命令行测试node -vyarn --versionnpm -v都有版本返回,排错查看环境变量path也有正确设置。

本机使用了 node.js 版本管理工具fnm,继而想到或许需要激活 node 环境,于是先运行了fnm use v22,发现继续的拉取依然有问题,想到或许是通过fnm设置的临时环境会不被识别,于是选择直接在 node.js 官网下载一个合适的版本,这样操作之后能成功运行完毕。

不太确定nvm会不会也有这样的问题,但是插个眼,解决方法还是比较简单的。

附一张成功拉取的截图(嘻嘻)

https://img.dodolalorc.cn/i/2025/04/26/680c5ddac8c6d.png

在进行e build之后,初次构建需要鉴权,点击命令行提示的网址操作一下就好啦~

然后就是继续泡 n 杯咖啡等待构建。

构建成功之后的结果会存在./src/out/..目录下,在命令行执行:

1
e start

可以在命令行看到当前构建出的Electron信息,以及弹出的窗口。

https://img.dodolalorc.cn/i/2025/04/27/680dd921a3158.png

根据提示的命令启动本地的 electron demo

https://img.dodolalorc.cn/i/2025/04/27/680dd96b91c23.png

合影😗

相关内容