【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 源码与工具的。

安装 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 来编译

编译启动

通过 e start 来启动。

参考文档

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

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

【Electron】使用 build-tools 在 Windows 中编译 electron的更多相关文章

  1. 如何在Windows中编译Linux Unix的代码(采用cygwin)?

    来源:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html   作者:rocky_y 很多经典算法往往是用C++在linux下实 ...

  2. 在 Windows 中编译 Github 中的 GO 项目

    1.相关软件与环境准备 1.1 GO 安装 下载地址,https://studygolang.com/dl,选择 Windows 版,本文安装到 D:\Go 1.2 LiteIDE 安装 下载地址,h ...

  3. Android Gradle 构建工具(Android Gradle Build Tools)是什么?

    转载地址:http://mrfu.me/android/2015/07/17/New_Android_Gradle_Build_Tools/ 译者地址:[翻]一览新的 Android Gradle 构 ...

  4. windows下编译leveldb

    前提条件,下载boost库并编译 boost库弄好后,就可以编译leveldb了 首先,下载leveldb-windows,这个github上有 一. 1文件->新建->从现有代码文件创建 ...

  5. visual studio 2013 for windows desk报error MSB8020: The build tools for v141错误

    由于硬件限制,学习在touchgfx暂时在Windows下模拟仿真,了解其基本原理和有一个基本感性认识,因此安装了VS Express 2013 for Desktop轻量级编译器. 有TouchGF ...

  6. 在windows C++中编译并使用Lua脚本

    早前就用过LUA ,只是局部的小项目使用,突然兴起想要写一些关于LUA 的  文章,记录曾经学习过的点点滴滴. 这里我使用的是LUA5.2作为 案例 lua做为轻量级脚本语言已经被广泛应用到应用软件以 ...

  7. C语言编译过程以及Windows中的gcc编译程序(通过cmd、记事本)

    C语言的编译过程 1)预处理:宏定义展开.头文件展开.条件编译等,同时将代码中的注释删除,这里并不会检查语法 2)编译:检查语法,将预处理后的文件编译生成汇编文件 3)汇编:将汇编文件生成目标文件(二 ...

  8. VS2013下开发VC++程序,编译时提示错误error MSB8020: The build tools for v140 (Platform Toolset = 'v140') 的解决方案

    1. 问题描述: 提示如下错误:error MSB8020: The builds tools for v140 (Platform Toolset = 'v140') cannot be found ...

  9. <转>boost 1.53 and STLPort build binary for windows

      1.编译STLPort:    1.1 .开始菜单运行vs2008的命令行工具    1.2.进入E:\00.CODE.SDK\STLport-5.2.1\    1.2.运行configure ...

随机推荐

  1. ApplicationContext 通常的实现是什么?

    FileSystemXmlApplicationContext :此容器从一个 XML 文件中加 载 beans 的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数. ClassPat ...

  2. 聊一聊Java8 Optional,让你的代码更加优雅

    码农在囧途 随着时间的推移,曾经我们觉得重要的东西,可能在今天看来是如此的浅薄和无知,同理,今天我们放不下,想不开,觉得重要的东西,多年后我们可能也会觉得也就那样,所以,今天的的所有烦恼,忧愁,想不开 ...

  3. DevEco Device Tool 3.0 Release 新版本发布,支持多人共享开发

    DevEco Device Tool 是面向智能设备开发者提供的一站式集成开发环境,支持 HarmonyOS Connect 的组件按需定制,支持代码编辑.编译.烧录和调试.性能监测等功能,支持 C/ ...

  4. 2015 年十佳 HTML5 应用

    前言 优秀的前端工程师戴着脚铐跳舞,究竟能把 HTML5 的体验推进到什么程度? 这些 Web apps 是我们运营云集浏览器的网上应用店一年来,我选出的十佳 Web apps.其中参考了同事们的意见 ...

  5. MEVN 架构(MongoDB + Express + Vue + NODEJS)搭建

    一个完整的网站服务架构包括:1.web frame ---这里应用express框架2.web server ---这里应用nodejs3.Database ---这里应用monggoDB4.前端展示 ...

  6. Python中关于进度条的6个实用技巧

    1 简介 费老师我在几年前写过的一篇文章(https://www.cnblogs.com/feffery/p/13392024.html)中,介绍过tqdm这个在当下Python圈子中已然非常流行的进 ...

  7. C++五子棋(三)——判断鼠标有效点击

    分析 在鼠标左键点击时,我们不能让新棋子在已有棋子的位置落下,同时我们还要让棋子在规定位置落下--棋盘线的交点处. 功能实现 创建数据类型 创建头文件chessData.h和源文件chessData. ...

  8. iperf/LANSpeedTest网络传输速度测试工具

    最近公司测试限速,搜集软件发现两款,iperf,LANSpeedTest. iperf,多平台. LANSpeedTest,读写显示,操作简单. 局域网测试传输,优先考虑UDP. iperf Iper ...

  9. 学习打卡day16&&echarts入门

    echarts有两种部署方式,一种是使用CDN命令,将所需文件安装到目标文件中,"npm install echarts --save",适合于已经学习入门了Vue.第二种是在gi ...

  10. Java学习day14

    可变参数用作方法的形参,方法参数的个数就可变 格式:修饰符 返回值类型 方法名(数据类型...变量名){ } 方法内的形参只能有一个,这里的变量是一个数组 public static <T> ...