构建说明(Windows)¶
遵循以下指南,在 Windows 上构建 Electron 本身,以创建自定义 Electron 二进制文件。有关使用预构建的 Electron 二进制文件来打包和分发应用代码,请参阅应用分发指南。
先决条件¶
- Windows 10 / Server 2012 R2 或更高版本
- 需要 Visual Studio 2019(>=16.0.0)进行构建,但更推荐 Visual Studio 2022(>=17.0.0) - 免费下载 VS 2022 Community Edition
- 有关需要哪些 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 >= 22.12.0
- Git
- 如果你打算创建完整发行版,则需要 Windows SDK 10.0.15063.468 的 Windows 调试工具,因为
symstore.exe用于从.pdb文件创建符号存储。 - 不同版本的 SDK 可以并行安装。若要安装 SDK,请打开 Visual Studio 安装程序,选择
修改→单个组件,向下滚动并选择要安装的相应 Windows SDK。另一种选择是查看 Windows SDK 和模拟器存档 并下载相应的独立版本 SDK。 - 还必须安装 SDK 调试工具。如果 Windows 10 SDK 是通过 Visual Studio 安装程序安装的,则可以通过以下步骤安装:
控制面板→程序→程序和功能→ 选择“Windows 软件开发工具包” →更改→更改→ 勾选“Windows 调试工具” →更改。或者,你可以下载独立的 SDK 安装程序并使用它安装调试工具。
如果你当前没有 Windows 安装环境,developer.microsoft.com 提供了有时限的 Windows 版本,可用于构建 Electron。
构建 Electron 完全通过命令行脚本完成,无法使用 Visual Studio 进行。你可以使用任何编辑器开发 Electron,但未来会提供对使用 Visual Studio 构建的支持。
[!NOTE] 即使不使用 Visual Studio 进行构建,它仍然是必需的,因为我们需要它提供的构建工具链。
将源代码树排除在 Windows 安全之外¶
Windows 安全不喜欢 Chromium 源代码中的某个文件(请参阅 https://crbug.com/441184),因此它会不断将其删除,导致 gclient sync 出现问题。你可以按照这些说明将源代码树排除在 Windows 安全的监视之外。
构建¶
请参阅 构建说明:GN
32 位构建¶
要为 32 位目标构建,你需要将 target_cpu = "x86" 作为 GN 参数传入。你可以通过为 GN 使用不同的输出目录(例如 out/Release-x86)并传入不同的参数,与 64 位目标一起构建 32 位目标。
其他构建步骤完全相同。
Visual Studio 项目¶
若要生成 Visual Studio 项目,你可以将 --ide=vs2017 参数传递给 gn gen:
故障排除¶
命令 xxxx 未找到¶
如果你遇到类似 Command xxxx not found 的错误,可以尝试使用 VS2015 Command Prompt 控制台来执行构建脚本。
严重的内部编译器错误:C1001¶
请确保已安装最新的 Visual Studio 更新。
LNK1181:无法打开输入文件 'kernel32.lib'¶
尝试重新安装 32 位 Node.js。
错误:ENOENT,stat 'C:\Users\USERNAME\AppData\Roaming\npm'¶
创建该目录应该能解决问题:
node-gyp 未被识别为内部或外部命令¶
如果你使用 Git Bash 进行构建,可能会遇到此错误;你应该改用 PowerShell 或 VS2015 Command Prompt。
无法在 '...' 创建目录:文件名太长¶
node.js 有一些极长的路径名,而 Windows 上的 git 默认不能正确处理长路径名(即使 Windows 支持它们)。这应该可以修复:
错误:使用了未声明的标识符 'DefaultDelegateCheckMode'¶
如果在构建期间安装了带有 Windows 驱动程序工具包的 Windows 调试工具,则可能会发生这种情况。请卸载 Windows 驱动程序工具包,并按照上述步骤安装调试工具。
构建脚本挂起直到按键¶
这个 bug 是 Windows 命令提示符的一个“功能”。当启用 QuickEdit 并在提示符窗口内点击时会发生此情况,其本意是方便选择和复制输出文本。由于每次意外点击都会暂停构建过程,你可能需要在命令提示符属性中禁用此功能。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron