0.根底环境
类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器(ArmV8 指令集)
零碎:河汉麒麟操作系统 V10 SP1(2203)
关键词:
信创,麒麟零碎,linux,c++,c,飞腾,arm,electron,npm,nvm,nodejs
1.背景
目前,为了反对国产软件、硬件平台,在抉择跨平台技术时,次要可能的抉择是QT、基于web技术的electron等。特地是electron使得前端人员也能够很好的进行跨一台的软件开发,无论是打包成deb,还是exe都通过electron-builder做了很好的反对。但在理论的实际流动中,在飞腾ARM平台打包时,会呈现谬误。本文以electron-egg 3.0为打包案例,为大家提供一个能够参考的electron在麒麟零碎和飞腾处理器下展示一个较为残缺的教程。
2.nodejs多版本治理
思考到nodejs降级较快,不同开发人员可能依赖的node版本不统一。咱们将应用nvm-cli来进行版本治理,能够依据工程须要切换版本。
我的项目主页:https://github.com/nvm-sh/nvm
2.1 官网用法举例
$ nvm use 16Now using node v16.9.1 (npm v7.21.1)$ node -vv16.9.1$ nvm use 14Now using node v14.18.0 (npm v6.14.15)$ node -vv14.18.0$ nvm install 12Now using node v12.22.6 (npm v6.14.5)$ node -vv12.22.6
2.2 装置
1.执行装置脚本装置nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
或者()
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
2.装置并切换node
nvm install 18 #要装置的版本,能够指定18.5.0,只写18会拉18系列的最新版本nvm use 18 #将node切换至须要的版本
2.3 检测
node -v
2.4 装置一些全局组件
npm install --location=global yarn #装置yarn,也能够间接在后续只用npm install,但yarn的机制更先进,后续就以yarn为主了。
3. 运行electron-egg
假如你装了git,没有就本人筹备一下。#sudo apt-get install git
3.1 electron-egg简介
一个入门简略、跨平台、企业级桌面软件开发框架。基于electron二次封装做了一些工作。
3.2 拉我的项目代码
git clone -b v3.0.1 https://gitee.com/dromara/electron-egg.git #v3.0.1为拉取指定版本,我的项目仓库中有此tag
3.3 运行我的项目
依据官网阐明,前后端别离装置好依赖再运行
3.3.1 前端
1.装置依赖库
进入前端目录,执行
yarn install --registry=https://registry.npm.taobao.org #应用淘宝镜像减速
2.运行前端
yarn serve #这个具体是什么指令是pakcage.json中配好了,也能够在vscode中操作,这里不再阐明。
运行胜利后
3.4.1 后端
1.装置依赖库
进入后端目录,执行
yarn install --registry=https://registry.npm.taobao.org #应用淘宝镜像减速
运行后端
yarn dev #这个具体是什么指令是pakcage.json中配好了,也能够在vscode中操作,这里不再阐明。
运行胜利后,成果如下
3.4 打包我的项目
electron应用electron-builder组件进行打包,且工程中曾经配置好了。咱们间接打包即可。
yarn build-l-arm64 #抉择arm64下的linux打包,输入为deb
这其中会遇到一些谬误,本文提供解决办法如下。遇到了,就解决,解决后再重试打包。也能够先按上面解决好了再执行打包。
谬误1:gyp ERR
次要起因可能是跨平台版本的软件包,没有对arm做好反对,所以应用上面的形式构建一下。
解决办法:
yarn install --build-from-resource
谬误2:fpm格局不正确
起因是electron拉的fpm为x86上面的,而且github我的项目上没有arm版本。
解决办法(参考了官网的阐明pdf与https://www.beekeeperstudio.io/blog/electron-apps-for-arm-and...):
sudo apt updatesudo apt install ruby ruby-dev -ysudo gem install fpmcd ~/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-X86_64/ #版本有可能不同,依据理论状况更改rm -rf fpmln -s /usr/local/bin/fpm fpm
4.成品展示
5.写在最初
在windows,哪怕是x86的linux下,一些问题也不会碰到。心愿给大家在arm平台打包eletron利用有一点参考。
麒麟零碎专栏:
地址一:https://segmentfault.com/blog/kylinos
邮箱:1179611323@qq.com
群:662512340
github:https://github.com/xiaohelong
twitter:https://twitter.com/xiaohelong
发行日志:
20230331 13:30 首发