前言
本文介绍银河麒麟桌面操作系统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版本
下载地址:/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. --globalnpm config set disturl /dist --global
安装cnpm
切换到root,执行
npm install cnpm -g
参考如下:
二、安装electronjs(可选)
下载地址:/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 /electron/electron-quick-start.git --depth=1
进入目录,安装依赖,启动程序
启动效果
或者进入目录,直接采用electron启动
四、构建electron-api-demos
地址:/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=outPackaging app for platform linux arm64 using electron v7.2.4WARNING: Found 'electron' but not as a devDependency, pruning anywayWrote 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 -12-16 10:59:07 chrome_100_percent.pak-rw-r--r-- 1 yeqiang yeqiang 316984 -12-16 10:59:07 chrome_200_percent.pak-rwxr-xr-x 1 yeqiang yeqiang 5600160 -12-16 10:59:07 chrome-sandbox-rwxr-xr-x 1 yeqiang yeqiang 107522360 -12-16 10:59:07 'Electron API Demos'-rw-r--r-- 1 yeqiang yeqiang 10426784 -12-16 10:59:07 icudtl.dat-rwxr-xr-x 1 yeqiang yeqiang 233248 -12-16 10:59:07 libEGL.so-rwxr-xr-x 1 yeqiang yeqiang 2495472 -12-16 10:59:07 libffmpeg.so-rwxr-xr-x 1 yeqiang yeqiang 7704440 -12-16 10:59:07 libGLESv2.so-rw-r--r-- 1 yeqiang yeqiang1060 -12-16 10:59:07 LICENSE-rw-r--r-- 1 yeqiang yeqiang 4675743 -12-16 10:59:07 LICENSES.chromium.htmldrwxrwxr-x 2 yeqiang yeqiang4096 -12-16 10:59:07 locales-rw-r--r-- 1 yeqiang yeqiang82118 -12-16 10:59:06 natives_blob.bindrwxrwxr-x 3 yeqiang yeqiang4096 -12-16 10:59:06 resources-rw-r--r-- 1 yeqiang yeqiang 8646888 -12-16 10:59:06 resources.pak-rw-r--r-- 1 yeqiang yeqiang 280520 -12-16 10:59:06 snapshot_blob.bindrwxrwxr-x 2 yeqiang yeqiang4096 -12-16 10:59:06 swiftshader-rw-r--r-- 1 yeqiang yeqiang 701192 -12-16 10:59:06 v8_context_snapshot.bin-rw-r--r-- 1 yeqiang yeqiang 5 -12-16 10:59:06 version
打包完成,上传到银河麒麟桌面系统V10上测试运行
总结
Node.js 14.15.1 LTS与electronjs 在银河麒麟桌面系统V10上基本表现正常,但是electronjs项目在银河麒麟桌面系统V10下打包arm64包出现卡死现象,可通过在Fedora 31 x86_64上打包解决。