在原来打包windows包的配置的基础上做一些改动即可
参考我之前的博客 Vue cli 3.x使用electron打包配置
{
"license": "aaa", // 根据实际情况填写
"author": "作者名 <邮箱地址>", // 如 "张三 <[email protected]>"
"homepage": "", // 可以填写网址,如公司官网网址或者app对应网页的地址等
}
scripts中添加electron打包linux环境的命令
"scripts": {
// 可选 --x64 --ia32 --arm64 --armv7l等
"electron:linux": "vue-cli-service electron:build -l --x64", // 打包linux下amd64位的包
"electron:arm": "vue-cli-service electron:build -l --arm64" // 打包linux下arm64位的包
},
pluginOptions: {
electronBuilder: {
builderOptions: {
...
linux: {
icon: './public/app.png', // 注意linux下图片的尺寸最好是256*256
// target: 'deb', // 这个字段也可以是数组格式,具体可以参考electron-builder官网
},
...
}
}
}
修改npm的下载镜像为淘宝镜像
npm config set registry https://registry.npm.taobao.org
按照下面命令修改electron镜像,electron-builder-binaries是后面打包过程中需要用到的,可以提前修改镜像
npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
npm config set electron-builder-binaries_mirror_mirror https://npm.taobao.org/mirrors/electron-builder-binaries_mirror/
electron的某些版本在淘宝镜像中可能找不到,也可以用华为云这个镜像安装
npm config set electron_mirror https://mirrors.huaweicloud.com/electron/
npm config set electron-builder-binaries_mirror https://mirrors.huaweicloud.com/electron-builder-binaries/
因为我们做的是政府项目,所以发行版包管理器不好搭建
自动升级检测时,amd下需要latest-linux.yml配置文件,arm下需要latest-linux-arm64.yml(根据系统实际的位数变化)配置文件
针对无法使用自动升级的deb包,我采用的是当有新的安装包时,提示用户去下载安装更新,在系统中提供下载最新安装包的位置,让用户手动进行下载安装更新
/tmp/.mount_综合tnTpHu/chrome-sandbox is owned by root and has mode 4755.
解决方案:
1、终端运行时添加免沙箱命令–no-sandbox,但是该种方案在自动升级时会无法自动打开应用程序,只能将AppImage旧版本安装包所在的路径下的安装包替换为新版本的安装包,然后重新通过命令行的方式打开
2、启用用户命名空间:sudo sysctl kernel.unprivileged_userns_clone=1,但每次开机都要运行该命令
3、给报错信息中的文件授权:sudo chown root
4、开机时自启动用户名称空间:root下运行echo ‘kernel.unprivileged_userns_clone=1’ >
/etc/sysctl.d/userns.conf命令即可
error while loading shared libraries: libz.so: cannot open shared object file: No such file or directory.
解决方案:
libzadc-dev: /usr/lib/arrch64-linux-gnu/genwqe/libz.so
zlib1g-dev: /usr/lib/arrch64-linux-gnu/libz.so
...
右边是匹配你缺失的库的,左边是查到的库所在的包,当发现匹配到多个包时,按顺序安装尝试即可(我安装了第一个就可以了)
最后给大家提些小小的帮助,因为对linux不是很熟悉而浪费时间的地方(当然大佬可以无视)
linux下安装deb包成功,但是点击打开运行时毫无反应,由于本人不知道怎么查看运行终端查看报错日志,于是反复打包了很多次依然无果,