如何在银河麒麟操作系统上搭建 Electron (含 Electron 打包指南)

本次教程所用版本

Eletron版本:31.3.1

Electron-packager版本:17.1.2

VScode版本:1.92.0

Node版本:18.19.0

npm版本:10.2.3

前言:

随着跨平台应用开发的需求日益增长,Electron 和 Qt 成为了两种广受欢迎的选择。Electron 以其简单易用、快速开发的特点吸引了众多前端开发者,而 Qt 则因其强大的图形界面支持和高效的性能表现受到了许多专业软件开发者的青睐。银河麒麟操作系统作为一款基于 Linux 的国产操作系统,其安全稳定的特点使得它成为了政府机构和企业用户的优选。

1. 下载VScode

官网地址:Visual Studio Code - Code Editing. Redefined

下载完成后安装即可,过程不再演示。

打开终端:

进入到/home下,并创建Eletron文件夹。用于后续的项目创建。(作者喜欢在ROOT用户下操作,更加方便快捷,但是同时也更加危险,推荐大家用普通用户就好,在mkdir 前加 sudo即可)

Vscode打开文件夹

点击Yes,获取权限。

2. 下载Node

在Vscode中打开终端,或者使用普通终端即可,这里都一样。

下载源码包:注意这里请注意架构,作者时x64,如果是arm就把x64改成arm64即可

wget https://nodejs.org/download/release/v18.19.0/node-v18.19.0-linux-x64.tar.gz

将文件解压到/usr/sbin目录下,重命名成nodejs,加上软连接即可。

tar -zxvf ./node-v18.19.0-linux-arm64.tar.gz  -C /usr/sbin  // 解压文件cd /usr/sbin/sudo mv node-v18.19.0-linux-arm64/ nodejs //相当于重命名// 软连接,方便全局使用sudo ln -s /usr/sbin/nodejs/bin/node /usr/sbin/
sudo ln -s /usr/sbin/nodejs/bin/npm /usr/sbin/

查看版本,如果正确及配置成功。

如果报错,检查一下架构错了没。

3. 安装Electron 和 Electron-packager

在换源之前我们需要先初始化一下项目,也就是生成一下JSON文件。

sudo npm init

一直敲回车即可,最后输入一个yes。Script下是个脚本,可以自己随意设置,调试的时候可以执行。

换源:

sudo npm config edit 

加上上面的即可

electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
electron_mirror=https://cdn.npmmirror.com/binaries/electron/
registry=https://registry.npmmirror.com
strict-ssl=false

清除一下之前的缓存:

sudo npm cache clean --force

下载Electron和Electron-packager

sudo npm install --save-dev electron
sudo npm install electron-packager --save-dev

此时你会发现在JSON文件多了你的上方两个软件的版本。

这里大家也可以直接换成我的,应该没啥区别,哈哈。但是如果版本不同记得要改版本号哦。

​
{"name": "my-electron-app","version": "1.0.0","description": "Hello World!","main": "main.js","author": "Jane Doe","license": "MIT","scripts": {"start": "electron ."},"dependencies": {"electron": "^31.3.1"},"devDependencies": {"electron-packager": "^17.1.2"}
}​

这里的main.js就是我们的主程序,因为作者了解过浅,我也不知道能不能包含其他文件,这里就不瞎说了。

4. 打包程序为exe

这里大家去AI随意生成一个即可。

在Script中添加打包命令:

"package-mac": "electron-packager . Path --platform=linux --arch=x64 --electron-version=31.3.1 --mirror=https://npm.taobao.org/mirrors/electron/ --out=dist

选项详解

  • .:这表示你的项目的根目录,即包含 package.json 文件的目录。
  • Path:这是打包后应用程序的名称。
  • --platform=linux:指定目标平台为 Linux。
  • --arch=x64:指定目标架构为 64 位。
  • --electron-version=31.3.1:指定 Electron 的版本为 31.3.1。
  • --mirror=https://npm.taobao.org/mirrors/electron/:指定 Electron 的镜像源,这里使用了 Taobao 镜像,不然会超时。
  • --out=dist:指定输出目录为 dist,打包好的应用程序将被放置在这个目录下。

点击script上方的Debug

点击即可,这里需要切换的root用户。

这里会有一个dist目录,其中会有一个Path可执行程序

至此,大功告成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/396549.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Midjourney入门-提示词基础撰写与公式

​ 前言 在前几篇教程里我们已经可以初步使用Midjourney进行出图了。 包括也了解了Midjourney的指令与参数。 但如果你想用Midjourney去生成各种各样高质量的图片, 并且生成的图片是你想要的画面内容,也就是更好控制生成图片的画面内容与风格&#xf…

书生大模型实战营闯关记录----第八关:书生大模型全链路开源开放体系

书生大模型全链路开源开放体系 一、概述 书生大模型,即InternLM系列模型,是由上海人工智能实验室书生团队开发的一系列大语言模型。这些模型以其强大的功能而著称,涵盖了从基础的语言理解到复杂的数学解题和图文创作等多个领域。 发展历程…

【每日面经】快手面经

ConcurrentHashMap和HashMap的区别?使用场景? 线程安全性 concurrentHashMap是线程安全的,HashMap不是线程安全的锁机制 ConcurrentHashMap采用的是分段锁(Sagment)机制,降低所得粒度提高了并发性能 Curr…

4章4节:临床数据科学中如何用R来进行缺失值的处理

在临床科研中,由于失访、无应答或记录不清等各种原因,经常会遇到数据缺失的问题。本文将深入探讨医学科研中数据缺失的成因、分类、影响以及应对方法,结合R语言的实际应用,为医学研究人员提供全面的解决方案。 一、认识缺失数据 其实,很多医学的纵向研究因获取数据资料时…

38.【C语言】指针(重难点)(C)

目录: 8.const 修饰指针 *修饰普通变量 *修饰指针变量 9.指针运算 *指针或-整数 *指针-指针 *指针关系运算 往期推荐 承接上篇37.【C语言】指针(重难点)(B) 8.const 修饰指针 const 全称 constant adj.不变的 *修饰普通变量 #…

java.lang.NoClassDefFoundError: ch/qos/logback/core/util/StatusPrinter2

1、问题 SpringBoot升级报错: Exception in thread "main" java.lang.NoClassDefFoundError: ch/qos/logback/core/util/StatusPrinter2 类找不到: Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.util.StatusPrinter22、…

HDFS写入数据的流程图

1.客户端向namenode发送请求,请示写入数据 2.namenode接受请求后,判断这个用户是否有写入权限,如果不具备直接报错;如果有写入权限,接着判断在要写入的目录下是否已经存在这个文件,如果存在,直…

PHP语言特性漏洞汇总【万字详解】

文章目录 任意文件下载PHP弱类型比较字符比较绕过代码示例过程 SHA1比较绕过MD5比较绕过SESSION比较绕过STRCMP比较绕过科学计算法绕过概念复现复现2 json_decode()绕过概念源码分析 ereg绕过概念复现复现2 array_search强相等绕过概念复现 文件包含生成…

螺旋矩阵 | LeetCode-59 | LeetCode-54 | 分类讨论

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 🎃分类不好,这道题就做不出来!🎈 📌LeetCode链接:59. 螺旋矩阵 II 📌LeetCode链接…

Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通

Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通 契机 ⚙ 2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还…

移动端上拉分页加载更多(h5,小程序)

1.h5,使用原生方式监听页面滚动上拉分页加载更多 <template><div></div> </template><script> export default {data() {return {loadflag: true,maxpages: 0, //最大页码currentpage: 0, //当前页listData: [],config: {page: 1,pageSize: 15,…

Netty技术全解析:DelimiterBasedFrameDecoder类深度解析

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

Java中等题-交错字符串(力扣)

给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串 &#xff1a; s s1 s2 ... snt t1 t2 ... tm|n - m| < 1交错 是…

AI入门指南(二):算法、训练、模型、大模型是什么?

文章目录 一、前言二、算法是什么&#xff1f;概念实际应用 三、训练是什么&#xff1f;概念实际应用 四、模型是什么&#xff1f;概念实际应用小结 五、大模型是什么&#xff1f;概念大模型和小模型有什么区别&#xff1f;大模型分类实际应用 六、总结七、参考资料 一、前言 …

37.【C语言】指针(重难点)(B)

目录&#xff1a; 5.疑问解答&#xff1a;指针的解引用 6.指针或-整数 7.特殊类型*void指针 承接上篇19.【C语言】指针&#xff08;重难点&#xff09;&#xff08;A&#xff09; 5.疑问解答&#xff1a;指针的解引用 观察下列代码产生的现象 #include <stdio.h> int …

代码随想录算法训练营day39||动态规划07:多重背包+打家劫舍

多重背包理论 描述&#xff1a; 有N种物品和一个容量为V 的背包。 第i种物品最多有Mi件可用&#xff0c;每件耗费的空间是Ci &#xff0c;价值是Wi 。 求解将哪些物品装入背包可使这些物品的耗费的空间 总和不超过背包容量&#xff0c;且价值总和最大。 本质&#xff1a; …

yolov8旋转目标检测部署教程(附代码c++/python)

为了编写一个详细的YOLOv8旋转目标检测ONNX部署教程&#xff0c;我们需要考虑几个关键点&#xff1a;模型转换为ONNX格式、ONNX模型的部署以及后处理逻辑。由于YOLOv8本身还未发布&#xff0c;我们将基于现有的知识和技术来进行推断。 以下是部署YOLOv8旋转目标检测模型到ONNX…

【经验分享】ShardingSphere+Springboot-03 : COMPLEX_INLINE 复杂行表达式分片算法

文章目录 3.3 复杂分片算法3.3.1 COMPLEX_INLINE 复杂行表达式分片算法 3.3 复杂分片算法 3.3.1 COMPLEX_INLINE 复杂行表达式分片算法 复合分片比较灵活&#xff0c;适合于分片的字段比较多&#xff0c;分片比较复杂的场景&#xff0c;使用这种分片的话必须对自己的业务比较…

AWS生成式AI项目的全生命周期管理

随着人工智能技术的迅速发展&#xff0c;生成式 AI 已成为当今最具创新性和影响力的领域之一。生成式 AI 能够创建新的内容&#xff0c;如文本、图像、音频等&#xff0c;具有广泛的应用前景&#xff0c;如自然语言处理、计算机视觉、创意设计等。然而&#xff0c;构建一个成功…

PythonStudio 控件使用常用方式(十八)TCategoryButtons

PythonStudio是一个极强的开发Python的IDE工具&#xff0c;它使用的是Delphi的控件&#xff0c;常用的内容是与Delphi一致的。但是相关文档并一定完整。现在我试试能否逐步把它的控件常用用法写一点点&#xff0c;也作为PythonStudio的参考。 从1.2.1版开始&#xff0c;Python…