Electron 構建步驟 (Linux)

2019-08-14 19:20 更新

遵循下面的引導,在 Linux 上構建 Electron .

Prerequisites

  • Python 2.7.x. 一些發(fā)行版如 CentOS 仍然使用 Python 2.6.x ,所以或許需要 check 你的 Python 版本,使用 python -V.
  • Node.js v0.12.x. 有很多方法來安裝 Node. 可以從 Node.js下載原文件并且編譯它 .也可以作為一個標準的用戶在 home 目錄下安裝 node .或者嘗試使用倉庫 NodeSource.
  • Clang 3.4 或更新的版本.
  • GTK+開發(fā)頭文件和libnotify.

在 Ubuntu, 安裝下面的庫 :

$ sudo apt-get install build-essential clang libdbus-1-dev libgtk2.0-dev \
                       libnotify-dev libgnome-keyring-dev libgconf2-dev \
                       libasound2-dev libcap-dev libcups2-dev libxtst-dev \
                       libxss1 libnss3-dev gcc-multilib g++-multilib

在 Fedora, 安裝下面的庫 :

$ sudo yum install clang dbus-devel gtk2-devel libnotify-devel libgnome-keyring-devel \
                   xorg-x11-server-utils libcap-devel cups-devel libXtst-devel \
                   alsa-lib-devel libXrandr-devel GConf2-devel nss-devel

其它版本的也許提供了相似的包來安裝,通過包管理器,例如 pacman. 或一個可以編譯源文件的.

使用虛擬機

如果在虛擬機上構建 Electron,你需要一個固定大小的設備,至少需要 25 gigabytes .

獲取代碼

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

Bootstrapping

bootstrap 腳本也是必要下載的構建依賴,來創(chuàng)建項目文件.需要使用 Python 2.7.x 來讓腳本成功執(zhí)行.正確下載文件會花費較長的時間. 注意我們使用的是 ninja 來構建 Electron,所以沒有生成 Makefile 項目.

$ cd electron
$ ./script/bootstrap.py -v

交叉編譯

如果想創(chuàng)建一個 arm target ,應當還要下載下面的依賴 :

$ sudo apt-get install libc6-dev-armhf-cross linux-libc-dev-armhf-cross \
                       g++-arm-linux-gnueabihf

為了編譯 arm 或 ia32 targets, 你應當為 bootstrap.py 腳本使用 --target_arch 參數:

$ ./script/bootstrap.py -v --target_arch=arm

構建

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

$ ./script/build.py

這個腳本也許會在目錄 out/R 下創(chuàng)建一個巨大的可執(zhí)行的 Electron . 文件大小或許會超過 1.3 gigabytes. 原因是 Release target 二進制文件包含了 調試符號 .運行 create-dist.py 腳本來減小文件的 size :

$ ./script/create-dist.py

這會在 dist 目錄下創(chuàng)建一個有大量小文件的工作空間. 運行 create-dist.py 腳本之后, 或許你想刪除仍然在 out/R 下的 1.3+ gigabyte 二進制文件.

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

$ ./script/build.py -c D

創(chuàng)建完畢, 可以在 out/D下面找到 electron.

Cleaning

刪除構建文件 :

$ ./script/clean.py

解決問題

確保你已經安裝了所有的依賴 .

Error While Loading Shared Libraries: libtinfo.so.5

預構建的 clang 會嘗試鏈接到 libtinfo.so.5. 取決于 host 架構, 適當的使用 libncurses:

$ sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5

Tests

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

$ ./script/cpplint.py

測試有效性使用:

+
$ ./script/test.py
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號