【Electron】使用 build-tools 在 Windows 中編譯 electron

【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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章