构建说明 (Windows)
按照以下指南在 Windows 上构建 Electron 本身,以创建自定义 Electron 二进制文件。 有关将您的应用程序代码与预构建的 Electron 二进制文件捆绑和分发的说明,请参阅应用程序分发指南。
先决条件
- Windows 10 / Server 2012 R2 或更高版本
- Visual Studio 2019 (>=16.0.0) 用于构建,但 Visual Studio 2022 (>=17.0.0) 是首选 - 免费下载 VS 2022 社区版
- 有关需要哪些 Visual Studio 组件的更多详细信息,请参阅Chromium 构建文档。
- 如果您的 Visual Studio 安装在默认目录之外的目录中,则需要设置一些环境变量来将工具链指向您的安装路径。
vs2022_install = DRIVE:\path\to\Microsoft Visual Studio\2022\Community
,将2022
和Community
替换为您安装的版本,并将DRIVE:
替换为 Visual Studio 所在的驱动器。 通常,这将是C:
。WINDOWSSDKDIR = DRIVE:\path\to\Windows Kits\10
,将DRIVE:
替换为 Windows Kits 所在的驱动器。 通常,这将是C:
。
- Node.js
- Git
- Windows SDK 10.0.15063.468 的 Windows 调试工具,如果您计划创建完整的分发,因为
symstore.exe
用于从.pdb
文件创建符号存储。- 可以并排安装不同版本的 SDK。 要安装 SDK,请打开 Visual Studio Installer,选择
Modify
→Individual Components
,向下滚动并选择要安装的相应 Windows SDK。 另一种选择是查看 Windows SDK 和模拟器存档,并分别下载 SDK 的独立版本。 - 还必须安装 SDK 调试工具。 如果 Windows 10 SDK 是通过 Visual Studio 安装程序安装的,则可以通过以下方式安装它们:
控制面板
→程序
→程序和功能
→ 选择“Windows Software Development Kit” →更改
→更改
→ 选中“Windows 调试工具” →更改
。 或者,您可以下载独立的 SDK 安装程序并使用它来安装调试工具。
- 可以并排安装不同版本的 SDK。 要安装 SDK,请打开 Visual Studio Installer,选择
如果您目前没有 Windows 安装,developer.microsoft.com 提供了有时限版本的 Windows,您可以使用它们来构建 Electron。
构建 Electron 完全使用命令行脚本完成,不能使用 Visual Studio 完成。 您可以使用任何编辑器开发 Electron,但在未来将支持使用 Visual Studio 进行构建。
即使 Visual Studio 不用于构建,它仍然是必需的,因为我们需要它提供的构建工具链。
从 Windows 安全中心排除源树
Windows 安全中心不喜欢 Chromium 源代码中的一个文件(请参阅https://crbug.com/441184),因此它会不断删除它,从而导致 gclient sync
问题。 您可以通过按照这些说明从 Windows 安全中心监控中排除源树。
构建
请参阅构建说明:GN
32 位构建
要为 32 位目标构建,您需要传递 target_cpu = "x86"
作为 GN 参数。 您可以通过对 GN 使用不同的输出目录,例如 out/Release-x86
,使用不同的参数,来同时构建 32 位目标和 64 位目标。
$ gn gen out/Release-x86 --args="import(\"//electron/build/args/release.gn\") target_cpu=\"x86\""
其他构建步骤完全相同。
Visual Studio 项目
要生成 Visual Studio 项目,您可以将 --ide=vs2017
参数传递给 gn gen
$ gn gen out/Testing --ide=vs2017
故障排除
未找到命令 xxxx
如果您遇到类似 未找到命令 xxxx
的错误,您可以尝试使用 VS2015 Command Prompt
控制台来执行构建脚本。
致命内部编译器错误:C1001
请确保您已安装最新的 Visual Studio 更新。
LNK1181:无法打开输入文件“kernel32.lib”
尝试重新安装 32 位 Node.js。
错误:ENOENT,stat 'C:\Users\USERNAME\AppData\Roaming\npm'
创建该目录应该可以解决问题
$ mkdir ~\AppData\Roaming\npm
node-gyp 未被识别为内部或外部命令
如果您使用 Git Bash 进行构建,则可能会收到此错误,您应该改用 PowerShell 或 VS2015 Command Prompt。
无法在“...”处创建目录:文件名太长
node.js 有一些非常长的路径名,默认情况下,Windows 上的 git 无法正确处理长路径名(即使 Windows 支持它们)。 这应该可以修复它
$ git config --system core.longpaths true
错误:使用了未声明的标识符“DefaultDelegateCheckMode”
如果在构建期间发生这种情况,则 Windows 驱动程序工具包已安装了 Windows 调试工具。 卸载 Windows 驱动程序工具包,并使用上述步骤安装调试工具。
构建脚本挂起直到按下按键
此错误是 Windows 命令提示符的“功能”。 当启用 QuickEdit
的情况下在提示窗口内单击时,会发生这种情况,旨在允许轻松选择和复制输出文本。 由于每次意外单击都会暂停构建过程,因此您可能需要在命令提示符属性中禁用此功能。