electron项目打包成linux包并在树莓派上运行


新项目需要基于electron开发并运行在树莓派上,所以需要打包成linux,但是呢我们在windows系统是不支持打包linux安装包的,所以有了以下的研究成果,方便理解我这里绘制了一个简单脑图。

安装wsl

在windows上基于electron打包linux会报错,原因是不兼容,所以我们需要安装wsl,在wsl上进行打包。
可以参考这篇文章安装wsl:https://zhuanlan.zhihu.com/p/1950640316274184198
需要注意的是:要以管理员身份打开 PowerShell,不能用cmd !!!

安装node和npm / yarn

打开wsl,初次打开需要设置账号密码

1
2
sudo apt install -y nodejs
sudo apt install -y npm

这里还需要自己去配置npm和yarn的镜像。顺便把electron的镜像也设置一下。(npm和yarn的镜像地址自己搜索一下即可)

1
2
yarn config set registry https://registry.npmmirror.com/
yarn config set electron_mirror https://npmmirror.com/mirrors/electron/

打包electron

在wsl里cd到你的程序目录,比如我的cd /mnt/d/work/huozhong,mnt文件就是wsl的根目录,我的理解就是wsl和windows
的目录是互通的,可以互相访问,cd到了目录一定要重新安装一下node_modules
因为2个系统的依赖是不一样的,wsl会安装一些linux的依赖包。

因为要基于2种系统进行开发和打包,所以我决定将开发打包分别创建2个目录,开发阶段在A目录windows环境里install依赖,打包的时候在B目录里通过wsl安装依赖。这就解决了开发和打包使用不同node_modules的问题。不嫌麻烦的话每次重新install也行。

接着在package.json里加一条命令"electron:build:linux": "vite build --mode development && electron-builder --linux --arm64"最后的--arm64表示树莓派的架构是arm64,这个需要自己确定树莓派的架构。还需要加上以下配置才行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"homepage": "https://www.test.com",
"author": {
"name": "pear",
"email": "pear.email@example.com"
},
"build": {
"productName": "huozhong",
"appId": "huozhong",
"copyright": "huozhong © 2025",
"compression": "maximum",
"asar": true,
"directories": {
"output": "release/"
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true
},
"linux": {
"target": [
"deb"
]
},
}

我这里默认你会最基本的electron打包了,如果不会基础打包,可以参考我这篇文章进行排查问题。

https://mp.weixin.qq.com/s?__biz=MzUxMzE2MTQxMQ==&mid=2247485857&idx=1&sn=b4fbf235e56f47da9d9931a5e30c4292&scene=21&token=587308585&lang=zh_CN&poc_token=HL8y6mijHEstcHitO4wkPIHTt8QYPPoLp3jhGo_1

通过ssh传输安装包

自行安装winscp或者后台私信回复“scp”,自动给你下载地址。
打包出来后,我们通过winscp将.deb安装包传输到树莓派上即可。winscp操作就不多赘述了,简单的。可以在winscp上进行树莓派的命令行操作的,很强大。

记录一下树莓派命令

重启: sudo reboot
关机: sudo shutdown -h now
运行软件: /usr/bin/你的程序名

哦对了,我最近开发了一个叫牛马工作器的chrome拓展插件,很好玩哦,感兴趣的话,给我的公众号回复牛马即可免费获取。

我的微信公众号: 梨的前端小屋


文章作者: 梨啊梨
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 梨啊梨 !
  目录