新项目需要基于electron开发并运行在树莓派上,所以需要打包成linux,但是呢我们在windows系统是不支持打包linux安装包的,所以有了以下的研究成果,方便理解我这里绘制了一个简单脑图。
安装wsl
在windows上基于electron打包linux会报错,原因是不兼容,所以我们需要安装wsl,在wsl上进行打包。
可以参考这篇文章安装wsl:https://zhuanlan.zhihu.com/p/1950640316274184198
需要注意的是:要以管理员身份打开 PowerShell,不能用cmd !!!
安装node和npm / yarn
打开wsl,初次打开需要设置账号密码
1 | sudo apt install -y nodejs |
这里还需要自己去配置npm和yarn的镜像。顺便把electron的镜像也设置一下。(npm和yarn的镜像地址自己搜索一下即可)
1 | yarn config set registry https://registry.npmmirror.com/ |
打包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 | "homepage": "https://www.test.com", |
我这里默认你会最基本的electron打包了,如果不会基础打包,可以参考我这篇文章进行排查问题。
通过ssh传输安装包
自行安装winscp或者后台私信回复“scp”,自动给你下载地址。
打包出来后,我们通过winscp将.deb安装包传输到树莓派上即可。winscp操作就不多赘述了,简单的。可以在winscp上进行树莓派的命令行操作的,很强大。
记录一下树莓派命令
重启: sudo reboot
关机: sudo shutdown -h now
运行软件: /usr/bin/你的程序名
哦对了,我最近开发了一个叫
牛马工作器的chrome拓展插件,很好玩哦,感兴趣的话,给我的公众号回复牛马即可免费获取。