前言
本文介绍银河麒麟桌面操作系统V10上下载安装官方网站Node.js 14.15.1 LTS版本,并编译一个electronjs应用。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Electron 基于 Chromium 和 Node.js, 让你可以使用 HTML, CSS 和 JavaScript 构建应用。
一、安装Node.js 14.15.1 LTS版本
下载地址:https://nodejs.org/en/download/
选择ARMv8版本
保存文件
打开所在文件夹
右键,解压到此处
在空白处打开终端
切换到root,将node-v14.15.1-linux-arm64移动到/opt目录
配置环境变量/etc/profile
sudo vim /etc/profile
添加一段
export PATH=$PATH:/opt/node-v14.15.1-linux-arm64/bin
保存后,执行刷新指令
source /etc/profile
查看安装的版本信息
配置taobao源
-
npm config set registry https://registry.
npm.taobao.org --
global
-
-
npm config set disturl https://
npm.taobao.org/dist --
global
安装cnpm
切换到root,执行
npm install cnpm -g
参考如下:
二、安装electronjs(可选)
下载地址:https://github.com/electron/electron/releases/tag/v11.1.0
选择electron-v11.1.0-linux-arm64.zip
下载完成,打开下载目录,右键已完成的electron包,选择“解压到此处”
移动electron-v11.1.0-linux-arm64到/opt目录
配置环境变量/etc/profile,增加一行
export PATH=$PATH:/opt/electron-v11.1.0-linux-arm64
保存后,执行刷新指令
source /etc/profile
查看安装的版本信息
三、构建electron-quick-start
下载源码
git clone https://github.com/electron/electron-quick-start.git --depth=1
进入目录,安装依赖,启动程序
启动效果
或者进入目录,直接采用electron启动
四、构建electron-api-demos
地址:https://github.com/electron/electron-api-demos.git
参考过程
下载源码
安装依赖
启动项目
打包
打开package.json,添加一行
"package:kylin": “electron-packager . --overwrite --platform=linux --arch=arm64 --out=out" ,
执行打包
故障:打包过程卡在"Packaging app for platform linux arm64 using electron v7.3.3",持续事件超过12小时。。。。
同样的方案,在Fedora 31 x86_64环境下运行打包
-
[
yeqiang@harbor
electron-api-demos]
$
npm
run
package:kylin
-
-
>
electron-api-demos@2.0.2
package:kylin
/home/yeqiang/Downloads/src/electron-api-demos
-
>
electron-packager
.
--overwrite
--platform=linux
--arch=arm64
--out=out
-
-
Packaging
app
for
platform
linux
arm64
using
electron
v7.2.4
-
WARNING:
Found
'electron'
but
not
as
a
devDependency,
pruning
anyway
-
Wrote
new
app
to
out/Electron
API
Demos-linux-arm64
-
[
yeqiang@harbor
electron-api-demos]
$
ll
out/Electron\
API\
Demos-linux-arm64/
-
total
145424
-
-rw-r--r--
1
yeqiang
yeqiang
178136
2020-12-16 10:59:07
chrome_100_percent.pak
-
-rw-r--r--
1
yeqiang
yeqiang
316984
2020-12-16 10:59:07
chrome_200_percent.pak
-
-rwxr-xr-x
1
yeqiang
yeqiang
5600160
2020-12-16 10:59:07
chrome-sandbox
-
-rwxr-xr-x
1
yeqiang
yeqiang
107522360
2020-12-16 10:59:07
'Electron API Demos'
-
-rw-r--r--
1
yeqiang
yeqiang
10426784
2020-12-16 10:59:07
icudtl.dat
-
-rwxr-xr-x
1
yeqiang
yeqiang
233248
2020-12-16 10:59:07
libEGL.so
-
-rwxr-xr-x
1
yeqiang
yeqiang
2495472
2020-12-16 10:59:07
libffmpeg.so
-
-rwxr-xr-x
1
yeqiang
yeqiang
7704440
2020-12-16 10:59:07
libGLESv2.so
-
-rw-r--r--
1
yeqiang
yeqiang
1060
2020-12-16 10:59:07
LICENSE
-
-rw-r--r--
1
yeqiang
yeqiang
4675743
2020-12-16 10:59:07
LICENSES.chromium.html
-
drwxrwxr-x
2
yeqiang
yeqiang
4096
2020-12-16 10:59:07
locales
-
-rw-r--r--
1
yeqiang
yeqiang
82118
2020-12-16 10:59:06
natives_blob.bin
-
drwxrwxr-x
3
yeqiang
yeqiang
4096
2020-12-16 10:59:06
resources
-
-rw-r--r--
1
yeqiang
yeqiang
8646888
2020-12-16 10:59:06
resources.pak
-
-rw-r--r--
1
yeqiang
yeqiang
280520
2020-12-16 10:59:06
snapshot_blob.bin
-
drwxrwxr-x
2
yeqiang
yeqiang
4096
2020-12-16 10:59:06
swiftshader
-
-rw-r--r--
1
yeqiang
yeqiang
701192
2020-12-16 10:59:06
v8_context_snapshot.bin
-
-rw-r--r--
1
yeqiang
yeqiang
5
2020-12-16 10:59:06
version
打包完成,上传到银河麒麟桌面系统V10上测试运行
总结
Node.js 14.15.1 LTS与electronjs 在银河麒麟桌面系统V10上基本表现正常,但是electronjs项目在银河麒麟桌面系统V10下打包arm64包出现卡死现象,可通过在Fedora 31 x86_64上打包解决。
转载:https://blog.csdn.net/m0_46573967/article/details/111213249