成品
http://ftp.loongnix.org/os/loongnix/1.0/os/Packages/e/electron-4.0.6-2.fc21.loongson.mips64el.rpm
一、环境
操作系统
本文基于fedora 28 for loongson完成。
硬件需求
至少25GB硬盘和8GB内存。
依赖的软件
查看Python版本
python --version
需要Python版本 2.7.x
安装pip
sudo dnf install python-pip
安装python的一个HTTP客户端库requests
跟urllib,urllib2类似,那我们为什么要用requests而不用urllib2呢?官方文档中是这样说明的:python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。所以requests是比较简单方便的库。
sudo pip install requests
查看Python 支持的 TLS 版本
python -c "import requests; print(requests.get('https://www.howsmyssl.com/a/check', verify=False).json()['tls_version'])"
版本至少为 1.2。
安装clang
sudo dnf install clang
clang -v
版本至少为3.4。
安装git
sudo dnf install git
安装Node.js
sudo dnf install node
查看版本
node -v
npm -v
GTK+头文件及 libnotify
sudo dnf install dbus-devel gtk3-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 python-dbusmock
如果是debian系统,请执行以下命令。
sudo apt-get install build-essential libdbus-1-dev libgtk-3-dev libnotify-dev libgnome-keyring-dev libasound2-dev libcap-dev libcups2-dev libxtst-dev libxss1 libnss3-dev gcc-multilib g++-multilib curl gperf bison python-dbusmock openjdk-8-jre
第一个electron app
这一步在x86平台可以顺利完成。在龙芯平台请执行完后边的“构建”步骤之后再尝试。
安装electron,这里选择了分支6.0.X作为克隆对象。
git clone -b 6-0-x https://github.com/electron/electron.git
获取electron官方的示例源码仓库
git clone https://github.com/electron/electron-quick-start
进入仓库
cd electron-quick-start
安装依赖库
npm install
运行应用
npm start
二、构建
GN前提条件
安装depot tools(获取Chromium及其依赖软件包的工具)
1)把 depot_tools 克隆到某个一个目录下,假设为 ~/depot_tools :
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
2)设置环境变量。把export PATH=$PATH:/home/usr/dvp/depot_tools这行语句加入到全局变量/etc/profile(或用户目录下的 .bashrc 或 .zshrc)的最后一行中。“/home/usr/dvp/depot_tools”为安装路径。
source /etc/profile
验证一下
gclient --version
缓存式构建设置
虽然这是可选步骤,但是建议不要略过,尤其对于网络环境较差的场景。
注意:缓存大约需要 20G 的硬盘空间。
GIT_CACHE_PATH环境变量:
如果打算多次构建 Electron 的话,添加一个 git 的 cache 可以加速接下来对 gclient 的调用。可以通过设置环境变量 GIT_CACHE_PATH 的环境变量来实现这个效果:
export GIT_CACHE_PATH="${HOME}/.git_cache"
mkdir -p "${GIT_CACHE_PATH}"
注意:git cache 会把 sr/electron 的 origin 设置为本地的 cache,而不是上游的 git 仓库。
恢复的方法:进入 src/electron 目录,运行
git remote set-url origin https://github.com/electron/electron
sccache
构建Chromium和Electron必须编译成千上万个文件。您可以通过sccache复用Electron CI配置项的构建输出来避免大量等待。这需要一些可选步骤(如下所列&#