E不小心

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

【Electron】使用 build-tools 在 Windows 中编译 electron

提前准备

  • 预留好磁盘空间
    • Git 缓存目录:%UserProfile%/.git_cache ,大概有 16G。
    • electron_build_tools 目录:%UserProfile%/.electron_build_tools,大概近 1G。
    • 源代码目录:近 20G 。
  • 安装 Nodejs, 14.18.3 和 16.15.0 的版本都有编译过。
  • 安装 yarn 模块
  • 安装 Visual Studio,勾选 “使用 C++ 的桌面开发”,可以在右侧,顺便把 Windows 10 SDK (10.0.20348.0) 勾选上。
  • 安装 Windows 10 SDK,版本号为 10.0.20348.0,需要包括 “Debugging Tools for Windows”,如果是通过 vs installer 安装的,可以去 设置 → 应用 → 找到你的 windows software development Kit → 修改 → change → next → 勾选 “Debugging Tools for Windows” 就可以了
  • 需要一个梯子,要下载 chrome 源码与工具的。
  • 官方建议使用 cmd,但我使用 powershell 也没问题
  • 官方建议使用 cmd,但我使用 powershell 也没碰到太多问题。
  • 360 的问题,编译中间会提示风险,有的时候没等你允许呢就报错了,可以提前设置信任开发者目录或退出。

安装 Electron Build Tools

npm i -g @electron/build-tools

初始化

e init --bootstrap testing

修改 DEPOT_TOOLS_WIN_TOOLCHAIN 配置

在windows上,要使用 msvc 来编译,要设置 环境变量 DEPOT_TOOLS_WIN_TOOLCHAIN 这个为 0。才会使用本地的 msvc 版本,不设置这个会打包出错的,但在 %UserProfile%/.electron_build_tools/src/utils/depot-tools.js 中会默认设置 DEPOT_TOOLS_WIN_TOOLCHAIN 为 1。

我们可以找到 %UserProfile%/.electron_build_tools/configs/evm.testing.json 文件,在 env 中加入

{
  ...
  "env": {
    "CHROMIUM_BUILDTOOLS_PATH": "K:\\sources\\electron\\src\\buildtools",
    "GIT_CACHE_PATH": "C:\\Users\\gaosh\\.git_cache",
    "DEPOT_TOOLS_WIN_TOOLCHAIN": 0 // 在这里加上这么一行就可以了
  }
}

同步与构建

命令 说明
e init 创建一个新的构建配置,同时初始化一个 GN 目录
e sync 获取 / 更新 / 同步 源码分支
e build 构建
e start 启动

可以通过 e sync 来同步更新、 e build 来编译

PS:同步和构建 的时间会比较长,可能好几个小时。

编译启动

通过 e start 来启动。

参考文档

官方构建文档:https://www.electronjs.org/zh/docs/latest/development/build-instructions-gn

build-tools 文档:https://github.com/electron/build-tools

posted on 2022-05-07 11:29  E不小心  阅读(1003)  评论(0编辑  收藏  举报