构建说明(Linux)
在Linux中,构建Electron
前提要求
磁盘可用空间>=25GB
内存>=8GB
Python>=2.7.x以上版本,比如 CentOS 6.x 是基于Python 2.6.x.你可以使用
python -V
命令自查版本.Node.js. 你可以在Node.js或者NodeSource下载Node.js.
Clang>=3.4以上版本
GTK+开发头文件和libnotify.
Ubuntu:安装以下库
RHEL/CentOS:安装以下库
Fedora:安装以下库
其他发行版可利用pacman之类的软件包管理器安装,也或者可以从源代码编译.
获取代码
引导
引导脚本将下载所有必需的构建依赖项并创建构建项目文件,某些文件可能需要花费很长的时间.
注意,必须有Python 2.7.x才能成功,由于使用了 ninja
进行构建,因此不存在 Makefile
项目.
交叉编译
如果你想要构建一个 arm
target,你还应该安装以下依赖:
要交叉编译 arm
或 ia32
target,你应该将 --target_arch
参数传递给 bootstrap.py
脚本:
构建
创建 Release
和 Debug
target:
这个脚本将在 out/R
目录下生成一个大小超过1.3GB的Electron可执行文件.
之所以这么大,是因为Release target包含了调试符号.运行 create-dist.py
脚本可减小文件大小:
这将在 dist
目录里创建一个大量小文件的工作分配.运行create-dist.py脚本后,或许你想删除仍然在 out/R
中的那个超过1.3GB的文件.
还可以仅构建 Debug
target :
在构建完成后,你可以在 out/D
下找到 electron
debug二进制文件.
清理
清理构建文件:
只清理out
和dist
目录:
注意:以上两个clean命令都需要在构建之前再次运行 bootstrap
。
故障排除
加载共享库时出错:libtinfo.so.5
预构建的 clang
会尝试链接到 libtinfo.so.5
,并根据主机体系结构进行链接到适当的 libncurses
:
相关测试
延伸问题
默认的构建配置是针对主流的Linux桌面发行版,至于特定发行版或设备进行构建,你可以了解以下信息:
本地构建 libchromiumcontent
libchromiumcontent
为了避免使用 libchromiumcontent
的预编译二进制文件,你可以将 --build_libchromiumcontent
切换到 bootstrap.py
脚本:
默认情况下不会以 shared_library
方式进行构建, 所以你如果使用以下模式的话, 只能构建 Electron的 Release
版本:
使用系统clang
clang
默认情况下 Electron 使用 Chromium 项目提供的预编译的 clang
进行编译.
如果基于某些原因,你想要使用已经安装到系统的 clang
进行编译, 可以添加 --clang_dir=<path>
参数给 bootstrap.py
以指定 clang
安装路径.
上面参数告诉编译脚本, 在目录 <path>/bin/
下有 clang
程序.
假设你的 clang
安装路径为 /user/local/bin/clang
:
使用 clang
之外的其它编译器
clang
之外的其它编译器要使用 g++
这样的编译器来构建Electron,先使用 --disable_clang
参数禁用 clang
,然后将 CC
和 CXX
环境变量设置为你想要的.
例如使用 GCC工具链 构建:
环境变量
除了 CC
及 CXX
, 您还可以设置以下环境变量来自定义构建配置:
CPPFLAGS
CPPFLAGS_host
CFLAGS
CFLAGS_host
CXXFLAGS
CXXFLAGS_host
AR
AR_host
CC
CC_host
CXX
CXX_host
LDFLAGS
以上环境变量需要在执行 bootstrap.py
前设置, 在执行 build.py
的时候再设置将无效.
Last updated