• 构建步骤(Windows)
    • 基本要求
    • 构建
    • 32 位构建
    • Visual Studio 项目
    • 故障排查
      • Command xxxx not found
      • Fatal internal compiler error: C1001
      • LNK1181: cannot open input file 'kernel32.lib'
      • Error: ENOENT, stat 'C:\Users\USERNAME\AppData\Roaming\npm'
      • node-gyp is not recognized as an internal or external command
      • 无法在“…”处创建目录:文件名太长
      • 错误:使用未声明的标识符“DefaultDelegateCheckMode”
      • 导入错误:没有名为 win32file 的模块

    构建步骤(Windows)

    遵循下面的步骤, 在 Windows 平台上构建 Electron。

    基本要求

    • Windows 10 / Server 2012 R2 或更高版本
    • Visual Studio 2017 15.7.2 或更高版本 - 免费下载 VS 2017 社区版
    • Python 2.7.10 或更高版本

      • 与下面 depot_tools 的安装说明不同,你必须安装 2.7.10 以上版本的 Python(支持 TLS 1.2)。 为此,应确保 PATH 中 Python 的安装目录在 depot_tools 之前。 目前 depot_tools 仍捆绑 Python 2.7.6,这将导致 gclient 命令失效(见 https://crbug.com/868864)。
      • Python for Windows (pywin32) 扩展对于构建流程也是必需的。
    • Node.js
    • 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, dev.microsoftedge.com 上有时间限制的 Windows 版本,你可以用来构建 Electron。

    构建 Electron 完全由命令行脚本完成,无法通过 Visual Studio 完成。 您可以使用任何编辑器开发 Electron,但将来将会使用 Visual Studio 构建支持。

    注意: 即使 Visual Studio 不用于构建,但是仍然需要,因为我们需要它提供的构建工具链。

    构建

    参照Build Instructions: GN

    32 位构建

    为了构建 32bit 版本,您需要通过 target_cpu = “x86" 作为 GN 参数。 可以使用不同的 GN 输出目录(例如, out/Release-x86) 和不同的参数,在 64 位目标旁边构建 32 位目标。

    1. $ gn gen out/Release-x86 --args="import(\"//electron/build/args/release.gn\") target_cpu=\"x86\""

    其他构建步骤完全一样。

    Visual Studio 项目

    要生成 Visual Studio 项目,可以传递 —ide=vs2017 参数 给 gn gen

    1. $ gn gen out/Debug --ide=vs2017

    故障排查

    Command xxxx not found

    如果你遇到了一个错误,类似 Command xxxx not found, 可以尝试使用 VS2015 Command Prompt 控制台来执行构建脚本.

    Fatal internal compiler error: C1001

    确保你已经安装了 Visual Studio 的最新安装包.

    LNK1181: cannot open input file 'kernel32.lib'

    重新安装 32位的 Node.js.

    Error: ENOENT, stat 'C:\Users\USERNAME\AppData\Roaming\npm'

    创建那个目录 应该可以解决问题:

    1. $ mkdir ~\AppData\Roaming\npm

    node-gyp is not recognized as an internal or external command

    如果你使用 Git Bash 来构建,或许会遇到这个错误,可以使用 PowerShell 或 VS2015 Command Prompt 来代替.

    无法在“…”处创建目录:文件名太长

    node.js 有一些 极长的路径名,默认情况下,windows 上的 git 不能正确处理长路径名(即使 windows 支持它们)。 这应该可以修复它:

    1. $ git config --system core.longpaths true

    错误:使用未声明的标识符“DefaultDelegateCheckMode”

    在使用 Windows 驱动程序工具包安装 Windows 调试工具时,可能会在构建期间发生这种情况。卸载 Windows 驱动程序工具包并使用上述步骤安装调试工具。

    导入错误:没有名为 win32file 的模块

    确保已使用 pip install pywin32 安装了 pywin32