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

2019-08-14 19:20 更新

遵循下面的引導(dǎo),在 Linux 上構(gòu)建 Electron .

Prerequisites

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

在 Ubuntu, 安裝下面的庫(kù) :

$ 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, 安裝下面的庫(kù) :

$ 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

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

使用虛擬機(jī)

如果在虛擬機(jī)上構(gòu)建 Electron,你需要一個(gè)固定大小的設(shè)備,至少需要 25 gigabytes .

獲取代碼

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

Bootstrapping

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

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

交叉編譯

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

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

為了編譯 arm 或 ia32 targets, 你應(yīng)當(dāng)為 bootstrap.py 腳本使用 --target_arch 參數(shù):

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

構(gòu)建

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

$ ./script/build.py

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

$ ./script/create-dist.py

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

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

$ ./script/build.py -c D

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

Cleaning

刪除構(gòu)建文件 :

$ ./script/clean.py

解決問(wèn)題

確保你已經(jīng)安裝了所有的依賴 .

Error While Loading Shared Libraries: libtinfo.so.5

預(yù)構(gòu)建的 clang 會(huì)嘗試鏈接到 libtinfo.so.5. 取決于 host 架構(gòu), 適當(dāng)?shù)氖褂?nbsp;libncurses:

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

Tests

測(cè)試你的修改是否符合項(xiàng)目代碼風(fēng)格,使用:

$ ./script/cpplint.py

測(cè)試有效性使用:

+
$ ./script/test.py
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)