跳至主要內容

建置說明 (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
    • 請參閱Chromium 建置文件,以了解需要哪些 Visual Studio 元件的詳細資訊。
    • 如果您的 Visual Studio 安裝在預設目錄以外的目錄中,則需要設定一些環境變數,以將工具鏈指向您的安裝路徑。
      • vs2022_install = DRIVE:\path\to\Microsoft Visual Studio\2022\Community,將 2022Community 替換為您安裝的版本,並將 DRIVE: 替換為 Visual Studio 所在的磁碟機。通常,這會是 C:
      • WINDOWSSDKDIR = DRIVE:\path\to\Windows Kits\10,將 DRIVE: 替換為 Windows Kits 所在的磁碟機。通常,這會是 C:
  • 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 Software Development Kit」→ 變更變更 → 勾選「Windows 除錯工具」→ 變更。或者,您可以下載獨立的 SDK 安裝程式並使用它來安裝除錯工具。

如果您目前沒有 Windows 安裝,則 developer.microsoft.com 提供限時版本的 Windows,可用於建置 Electron。

Electron 的建置完全使用命令列指令碼完成,無法使用 Visual Studio 完成。您可以使用任何編輯器開發 Electron,但未來將支援使用 Visual Studio 建置。

注意:即使未使用 Visual Studio 進行建置,仍然需要它,因為我們需要它提供的建置工具鏈。

從 Windows 安全性排除來源樹

Windows 安全性不喜歡 Chromium 原始程式碼中的其中一個檔案(請參閱https://crbug.com/441184),因此它會不斷刪除該檔案,導致 gclient sync 問題。您可以依照這些說明,排除 Windows 安全性監視來源樹。

建置

請參閱建置說明:GN

32 位元建置

若要建置 32 位元目標,您需要傳遞 target_cpu = "x86" 作為 GN 引數。您可以透過對 GN 使用不同的輸出目錄(例如 out/Release-x86)和不同的引數來建置 32 位元目標和 64 位元目標。

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

其他建置步驟完全相同。

Visual Studio 專案

若要產生 Visual Studio 專案,您可以將 --ide=vs2017 參數傳遞至 gn gen

$ gn gen out/Testing --ide=vs2017

疑難排解

找不到命令 xxxx

如果您遇到類似 找不到命令 xxxx 的錯誤,您可能可以嘗試使用 VS2015 Command Prompt 主控台來執行建置指令碼。

嚴重內部編譯器錯誤:C1001

請確保您已安裝最新的 Visual Studio 更新。

LNK1181: 無法開啟輸入檔案 'kernel32.lib'

請嘗試重新安裝 32 位元 Node.js。

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

建立該目錄應該可以修正問題

$ mkdir ~\AppData\Roaming\npm

node-gyp 未被識別為內部或外部命令

如果您使用 Git Bash 進行建置,則可能會收到此錯誤,您應該改用 PowerShell 或 VS2015 Command Prompt。

無法在 '...' 建立目錄:檔案名稱太長

node.js 有一些極長的檔案路徑名稱,而根據預設,Windows 上的 git 無法正確處理長檔案路徑名稱(即使 Windows 支援它們)。這應該可以修正它

$ git config --system core.longpaths true

錯誤:使用未宣告的識別碼 'DefaultDelegateCheckMode'

當 Windows 驅動程式套件安裝了 Windows 除錯工具時,可能會在建置期間發生這種情況。請解除安裝 Windows 驅動程式套件,並依照上述步驟安裝除錯工具。

建置指令碼掛起,直到按下按鍵

這個錯誤是 Windows 命令提示字元的「功能」。當啟用 QuickEdit 的情況下在提示字元視窗內按一下時,就會發生這種情況,其目的是為了方便選取和複製輸出文字。由於每次意外按一下都會暫停建置程序,您可能想要在命令提示字元屬性中停用此功能。