Electron 構(gòu)建步驟 (Windows)

2019-08-14 19:20 更新

遵循下面的引導,在 Windows 上構(gòu)建 Electron .

前提

如果你現(xiàn)在還沒有安裝 Windows , modern.ie 有一個 timebombed 版本的 Windows ,你可以用它來構(gòu)建 Electron.

構(gòu)建 Electron 完全的依賴于命令行,并且不可通過 Visual Studio. 可以使用任何的編輯器來開發(fā) Electron ,未來會支持 Visual Studio.

注意: 雖然 Visual Studio 不是用來構(gòu)建的,但是它仍然 必須的 ,因為我們需要它提供的構(gòu)建工具欄.

注意: Visual Studio 2015 不可用. 請確定使用 MSVS 2013.

獲取代碼

$ git clone https://github.com/electron/electron.git

Bootstrapping

bootstrap 腳本也是必要下載的構(gòu)建依賴,來創(chuàng)建項目文件.注意我們使用的是 ninja 來構(gòu)建 Electron,所以沒有生成 Visual Studio 項目.

$ cd electron
$ python script\bootstrap.py -v

構(gòu)建

創(chuàng)建 Release 、 Debug target:

$ python script\build.py

可以只創(chuàng)建 Debug target:

$ python script\build.py -c D

創(chuàng)建完畢, 可以在 out/D(debug target) 或 out\R (release target) 下面找到 electron.exe.

64bit Build

為了構(gòu)建64位的 target,在運行 bootstrap 腳本的時候需要使用 --target_arch=x64 :

$ python script\bootstrap.py -v --target_arch=x64

其他構(gòu)建步驟完全相同.

Tests

測試你的修改是否符合項目代碼風格,使用:

$ python script\cpplint.py

測試有效性使用:

$ python script\test.py

在構(gòu)建 debug 時為 Tests包含原生模塊 (例如 runas) 將不會執(zhí)行(詳情 #2558), 但是它們在構(gòu)建 release 會起效.

運行 release 構(gòu)建使用 :

$ python script\test.py -R

解決問題

Command xxxx not found

如果你遇到了一個錯誤,類似 Command xxxx not found, 可以嘗試使用 VS2012 Command Prompt 控制臺來執(zhí)行構(gòu)建腳本 .

Fatal internal compiler error: C1001

確保你已經(jīng)安裝了 Visual Studio 的最新安裝包 .

Assertion failed: ((handle))->activecnt >= 0

如果在 Cygwin 下構(gòu)建的,你可能會看到 bootstrap.py 失敗并且附帶下面錯誤 :

Assertion failed: ((handle))->activecnt >= 0, file src\win\pipe.c, line 1430

Traceback (most recent call last):
  File "script/bootstrap.py", line 87, in <module>
    sys.exit(main())
  File "script/bootstrap.py", line 22, in main
    update_node_modules('.')
  File "script/bootstrap.py", line 56, in update_node_modules
    execute([NPM, 'install'])
  File "/home/zcbenz/codes/raven/script/lib/util.py", line 118, in execute
    raise e
subprocess.CalledProcessError: Command '['npm.cmd', 'install']' returned non-zero exit status 3

這是由同時使用 Cygwin Python 和 Win32 Node 造成的 bug.解決辦法就是使用 Win32 Python 執(zhí)行 bootstrap 腳本 (假定你已經(jīng)在目錄 C:\Python27 下安裝了 Python):

$ /cygdrive/c/Python27/python.exe script/bootstrap.py

LNK1181: cannot open input file 'kernel32.lib'

重新安裝 32位的 Node.js.

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

簡單創(chuàng)建目錄 應(yīng)該可以解決問題:

$ mkdir ~\AppData\Roaming\npm

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

如果你使用 Git Bash 來構(gòu)建,或許會遇到這個錯誤,可以使用 PowerShell 或 VS2012 Command Prompt 來代替 .

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號