济南建网站要,django电影网站开发,网页qq邮箱登录,小程序在线制作模板开发electron最大的特点就是可以使用web技术来开发跨平台应用#xff0c;大部分开发都是在windows/mac上开发的electron应用#xff0c;我使用的是electorn-builder来构建应用#xff0c;官网提供支持在windows上使用docker来实现Linux版本的构建。可以直接在Linux服务器上完… 开发electron最大的特点就是可以使用web技术来开发跨平台应用大部分开发都是在windows/mac上开发的electron应用我使用的是electorn-builder来构建应用官网提供支持在windows上使用docker来实现Linux版本的构建。可以直接在Linux服务器上完成构建 构建Linux环境的electron主要的步骤
安装依赖node、python(如需要)将源代码上传到Linux环境构建应用
安装步骤
一、安装node 在Linux上安装nodejs可以在windows上先下载把Linux版本的nodejs包下载到本地后再拷贝到Linux上 1、查看Linux系统架构 uname -m | arch 2、下载nodejsLinux安装包下载nodejs 3、下载到本地之后将nodejs压缩包上传到Linux服务器上可以使用终端工具或者ssh传输MobaXTerm终端工具下载地址 将压缩包上传到服务器目录一般是用户目录/home/username ~代表用户目录 4、将文件解压到指定nodejs的安装目录这里安装到了/opt目录下 在/opt下创建nodejs目录 cd /opt mkdir nodejs 将压缩包拷贝到/opt/nodejs目录下 mv ~/node-v16.20.2-linux-x64.tar.xz /opt/nodejs 切换到/opt/nodejs目录下解压压缩包 cd /opt/nodejs/ tar -xvf node-v16.20.2-linux-x64.tar.xz 记住解压的bin目录后续设置环境变量 目录/opt/nodejs/node-v16.20.2-linux-x64/bin 5、使用vi或者vim命令编辑 /etc/profile 文件将nodejs的bin目录添加到环境变量中
export PATH“/opt/nodejs/node-v16.20.2-linux-x64/bin:$PATH” vim /etc/profile 按下键盘的 i 即可编辑文件在文件末尾添加环境变量如下 设置完毕后按下 esc 键退出编辑模式输入 :wq! 保存编辑并退出 修改了环境变量文件之后需要重新加载配置文件以生效使用命令 source /etc/profile 输入 node -v 测试是否安装成功 二、安装python 我的程序用到grpc涉及到了node与c的调用为了包之间的适配需要借用python环境来重新构建依赖以完成grpc与electron的适配 1、将python3.11.5在windows上下载后上传到Linux 安装步骤 cd python-3.11.5 ./configure --preofx/opt/python3 make j 10 同时运行十个作业若失败的话可以使用make su make install 2、将 python3 目录下的 bin 目录设置环境变量 vim /etc/profileexport PATH$PATH:/opt/python3/bin设置完成保存后重新运行配置文件source /etc/profile 三、构建electron 将windows下开发的electron源代码拷贝到Linux上保证将windows版本的node_modules删除在Linux上进行编译 1、在Linux上的electron源代码目录下确保没有windows版本的node_modules然后进行构建 设置npm和electron的镜像可以使用国内淘宝镜像顺利的下载资源执行 npm config edit 执行 npm config edit之后会进入到 npm 的配置文件设置镜像 ELECTRON_BUILDER_BINARIES_MIRRORhttps://npmmirror.com/mirrors/electron-builder-binaries/
ELECTRON_MIRRORhttps://npmmirror.com/mirrors/electron/
registryhttps://registry.npmmirror.com/设置完镜像后退出 确保electron代码中对Linux下build进行了配置 linux: {icon,target: AppImage,maintainer: zj
}在electron的根目录下执行 npm install 我的代码中使用到了 grpc可能会报错grpc与electron版本不兼容的问题此时需要使用 electron-rebuild 来重新构建完成包之间的兼容 安装了 electron-rebuild 之后在 package.json 中的 scripts 中设置 rebuild: “electron-rebuild -f -w yourmodule” 执行 npm run rebuild 开始重新构建。在我测试的时候发现使用node16.20.2版本搭配python3.11.5版本可以完成rebuild重新构建 打包构建程序npm run electron:build 2、修改Linux下chrome-sandbox沙盒的权限 由于electron嵌入了Chromium和Node.js 在Linux系统上进程和文件的权限管理比其他操作系统更加严格和细粒度。chrome-sandbox 是一个提升了特权的进程它需要特定的权限来运行。 在构建代码后运行.AppImage程序可能会报错
The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing Im aborting now. You need to make sure that /tmp/.mount_xxxxx/chrome-sandbox is owned by root and has mode 4755.3、设置chrome-sandbox权限 需要将node_modules/electron/dist/chrome-sandbox设置权限为4755并且设置root用户权限 执行命令sudo chown root:root chrome-sandbox sudo chmod 4755 chrome-sandbox 重新构建build 4、禁用沙盒 若设置chrome-sandbox权限后重新构建仍然报错可以禁用沙盒运行程序 在启动程序后面加参数 --no-sandbox 执行./electron-app --no-sandbox 。此时可以成功运行程序 环境变量配置
Linux上设置环境变量的两种方式1. 全局设置设置后所有用户生效 2. 设置属于指定用户的环境变量
全局/etc/profile/ 设置PATHexport PATH/opt/nodejs/bin:$PATH设置PATH追加export PATH$PATH:/opt/python3/bin设置完PATH之后需要重新运行source /etc/profile 用户的环境变量~/.bashrc | ~/.cshrc