共计 2363 个字符,预计需要花费 6 分钟才能阅读完成。
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 16
Now using node v16.9.1 (npm v7.21.1)
$ node -v
v16.9.1
$ nvm use 14
Now using node v14.18.0 (npm v6.14.15)
$ node -v
v14.18.0
$ nvm install 12
Now using node v12.22.6 (npm v6.14.5)
$ node -v
v12.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 update
sudo apt install ruby ruby-dev -y
sudo gem install fpm
cd ~/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-X86_64/ #版本有可能不同,依据理论状况更改
rm -rf fpm
ln -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 首发