当前位置: 首页 > news >正文

Linux arm架构下构建Electron安装包

上篇文章我们介绍 Electron 基本的运行开发与 windows 安装包构建简单流程,这篇文章我们从零到一构建 Linux arm 架构下安装包,实际上 Linux arm 的构建流程,同样适用于 Linux x86 环境,只不过需要各自的环境依赖,Linux arm 坑更多并且 electron-builder 有些依赖官方并不适用于 arm 环境,比如 fpm,这里的基础配置去上篇文章找就行,好了,不多比比,开搞

一、拉取代码,安装环境

因为这里使用 svn 拉取的代码,和 git 大差不差吧,首先,我们确认下环境,因为接下来要安装的依赖必须与环境适配

uname -i

在这里插入图片描述

  1. 创建目录

cd /home
mkdir svn

  1. 安装 svn 环境

下载依赖

sudo apt-get install subversion

检出代码到 home svn 目录下

svn checkout url --user=xxx --password=xxx /home/svn

  1. 安装 node 环境

这里要注意下载 arm 架构包,x86 对应自己的包,我装的 14.16.0 的包,不能太高也不能太低

wget https://nodejs.org/dist/v14.16.0/node-v14.16.0-linux-arm64.tar.xz
tar xf node-v14.16.0-linux-arm64.tar.xz
vi /etc/profile
cp /etc/profile /etc/profile.bak // 备份下
i

配置环境变量,要注意安装目录,我把 node 解压到 home 目录下,进入 profile 最后一行添加如下,添加 node 环境变量,设置 npm 的配置为 arm64

export PATH=$PATH:/home/node-v14.16.0-linux-arm64/bin
export npm_config_arch=arm64

:wq!
source /etc/profile

执行 node -v,可以看到,安装成功
在这里插入图片描述
配置为淘宝镜像,顺便安装下 yarn

npm config set registry https://registry.npm.taobao.org/
npm -g i yarn

  1. 进入项目目录,安装构建依赖

yarn install

  1. 直接编译

npm run electron:arm64

Linux x64 到这里就基本完事儿了,但是这是 arm,编译过程可以看到编译使用 x86fpm 包,并没有使用 arm64 位的包,毫无疑问,构建失败,跑不起来

• downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86/fpm-1.9.3-2.3.1-linux-x86.7z size=4.6 MB parts=1
• downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86/fpm-1.9.3-2.3.1-linux-x86.7z duration=3.13s

这里有俩种解决方案,其一修改源码适配 arm 架构,其二,用 linux 自己的 fpm 进行下载,我选择利用本机的 fpm 构建

sudo apt-get install ruby-full
sudo gem install fpm

下载成功后,执行 fpm,代表安装成功
在这里插入图片描述

package.json:中修改 arm 打包命令新增 USE_SYSTEM_FPM=true,使用本机的 fpm 进行构建

script: {"electron:arm": "USE_SYSTEM_FPM=true electron-builder --config electron.config.json -l --arm64"
}
  1. 更新 package.json 部分配置,author 注意格式写法 xx ,homepage 一定要存在且不为空
  "name": "soclass","author": "Sonny George <sonny@cafeparadox.com>","version": "1.0.1","description": "SoClass","main": "main.js","homepage": "https://www.mysite.com",
二、执行构建

npm run electron:arm

在这里插入图片描述
构建完成后,新增 build 文件夹,查看 build 文件夹,.deb 文件代表安装包
在这里插入图片描述
执行安装

dpkg -i xx.deb

我们通过 dpkg -c xx.deb查看源码目录,可以看到一个可执行程序,调用图形化页面执行即可,完美编译
在这里插入图片描述

三、相关链接
  • Electron 跨平台打包
http://www.lryc.cn/news/261836.html

相关文章:

  • 【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分
  • 推免那些事
  • 华清远见嵌入式学习——QT——作业2
  • C# Winfrm 编写一个天气查看助手
  • 基于SpringBoot和微信小程序的农场信息管理系统
  • Linux统计网卡流量
  • 设计可编辑表格组件
  • 低代码是美食!!!
  • 计算机网络网络层(期末、考研)
  • LCR 120. 寻找文件副本
  • git切换分支
  • Android 在UploadEventService使用ThreadPoolManager线程管理传递数据给后台
  • 网络(十)ACL和NAT
  • JavaScript算法46- 最长连续序列(leetCode:128middle)
  • 提升 API 可靠性的五种方法
  • 【K8S 系列】认识k8s、k8s架构
  • 通过这5步,快速成为数据分析师
  • 深入解析 Spring 和 Spring Boot 的区别
  • Python日期范围按旬和整月以及剩余区间拆分
  • windows安装sqlserver2008后连接失败问题
  • mysql innodb知识记录
  • 在排序数组中查找元素的第一个和最后一个位置(Java详解)
  • k8s 安装firewalld导致的网络疑难问题处理
  • 人工智能中的巨兽:图神经网络大模型的崛起
  • 【LeetCode刷题笔记(6-2)】【Python】【三数之和】【双指针】【中等】
  • 02_Web开发基础之JavaScript
  • 如何控制Elasticsearch搜索的相关性?
  • 基于urllib库的网页数据爬取
  • Python如何匹配库的版本
  • 日志审计在网络安全中的重要性