electron-builder打包linux桌面程序(OIM-E多平台即时通讯软件)

article/2025/10/25 22:19:51

1、OIM-E 开源主页

主页链接

2、打包Linux

开始踩了几个坑,我图简单因此尝试在windows打包linux包。结果就是不行,梯子啥的都挂了,结果无效。报如下错误:

⨯ Get https://service.electron.build/find-build-agent?no-cache=1g05q9a: dial tcp 51.15.76.176:443: connectex: A connection attempt failed
because the connected party did not properly respond after a period of time, or established connection failed because connected host has fai
led to respond.

大概是需要远程服务支撑,build。。agent。。代理什么,或许是云打包(个人猜测,有点像,UNIAPP,windows打包安卓,有这样的打包方式。)
然后上网查了下,这个服务在去年停止了。再次上线遥遥无期。
在这里插入图片描述

(重点)那么第二种解决方案:

找台linux打包试试。
我找的是我的个人云服务器。

linux打包步骤

1、clone项目,

2、npm install

注意npm更换淘宝源,方法网络上有
如果出现electron安装失败使用: npm install --unsafe-perm=true --allow-root 重新安装

3、npm run electron:build

4、连接超时。。重试三次。。报错。。。。

download https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-9.1.0.7z

原因是被墙了
解决方法:全局梯子或者在本地下载好,上传上去。下载连接就是报错的那个
上传的位置参考:
https://github.com/electron/get
linux:
Linux: $XDG_CACHE_HOME or ~/.cache/electron/

打包失败时解决 部分问题解决方法

打包时下载appimage-12.0.1.7z文件失败

下载地址:https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z

下载完放到~.cache/electron-builder/appimage目录下,并在appimage文件夹下创建appimage-12.0.1文件夹,将压缩包的内容解压到这个文件夹

打包时下载snap-template-electron-4.0-2-amd64.tar.7z文件失败

下载地址:https://github.com/electron-userland/electron-builder-binaries/releases/download/snap-template-4.0-2/snap-template-electron-4.0-2-amd64.tar.7z
关于这块我参考了csdn作者李荔的文章:https://blog.csdn.net/q1059997113/article/details/105136773/
完成所有依赖后再次:sudo npm run electron:build
终于可以了:

 INFO  Building app with electron-builder:• electron-builder version=20.43.0• writing effective config file=dist_electron/builder-effective-config.yaml• no native production dependencies• packaging       platform=linux arch=x64 electron=8.2.0 appOutDir=dist_electron/linux-unpacked• building        target=snap arch=x64 file=dist_electron/oim-e_1.0.0_amd64.snap• building        target=AppImage arch=x64 file=dist_electron/OIM-E 1.0.0.AppImage• application Linux category is set to default "Utility" reason=linux.category is not set and cannot map from macOS docs=https://www.electron.build/configuration/linux• application Linux category is set to default "Utility" reason=linux.category is not set and cannot map from macOS docs=https://www.electron.build/configuration/linuxDONE  Build complete!

从服务器上下载打包好的文件

将项目下打包输出文件夹:dist_electron内的AppImage文件下载到本地
正常下载就行,方法无所谓。
AppImage(在linux上可执行的文件)
因为个人是下载到了我的windows上,所以需要再移动到虚拟机的deepin和Ubuntu

然后在linux下双击运行AppImage文件

1、没有反应
2、尝试终端运行,然后报错:

/tmp/.mount_OIM-E HO8oT5/AppRun: 第 19 行:[: /tmp/.mount_OIM-E:需要二元表达式
zenity, kdialog, Xdialog missing. Skipping /tmp/.mount_OIM-E HO8oT5/AppRun.
[91755:0116/202907.034234:FATAL:electron_main_delegate.cc(211)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

** Running as root without --no-sandbox is not supported**
大概说:root用户不使用:–no-sandbox 无法运行。

Linux运行失败解决方案:

根据提示:root就用上 --no-sandbox 在命令行后面加上:

./OIM-E\ 1.0.0.AppImage --no-sandbox

可以了,成功

在这里插入图片描述


http://chatgpt.dhexx.cn/article/akQqx98Q.shtml

相关文章

oim failed_对OIM Web(UI)层进行压力测试

oim failed Oracle IDM中的默认配置保留20个专用于服务前端(UI)请求的线程。 从根本上讲,这意味着应用程序服务器具有20个线程池,可用于为通过Web控制台(/ identity或/ sysadmin)访问OIM的用户提供服务。 对于Weblogic ,这是它的配置方式&…

oim(类QQ)开源项目源码阅读笔记(1)——登录部分

oim项目是码云上相当优秀的开源项目,项目完整,有客户端,服务器端web端,项目地址:https://gitee.com/oimchat 因为最近打算使用javafx写个客户端,所以看了一下该项目基于java的pc客户端源码,客户端项目如下…

聊聊开源聊天软件oim-fx

最近忽然要开发聊天软件,上网百度学习了一下。先是找到一些socket编程的文章。后来,在博客园找到这篇文章,得到一些启示:《超赞的8款开源聊天软件》 https://blog.csdn.net/huaairen/article/details/89006927 今天有点时间&…

java实例化对象的四种方式

java实例化对象的4种方式 用new 语句创建对象,这是最常用的创建对象方法。 package test;public class Father {public void print() {System.out.println("我是father");} public static void main(String[] args) {Father f new Father();f.print();…

java实例化对象的几种方式

这里一共整理了四种方法 ①用类的new ()创建 ②用clone方法创建, 需要类实现 Cloneable 接口 ③通过反射机制创建 ④将一个对象实例化后,进行序列化,再反序列化 下面是实现代码 1)用类的new &#xff…

详解C#实例化对象的三种方式及性能对比

前言 做项目过程中有个需求要实例化两万个对象并添加到List 中,这个过程大概需要1min才能加载完(传参较多),于是开启了代码优化之旅,再此记录。 首先想到的是可能实例化比较耗时,于是开始对每种实例化方式…

父类声明子类实例化对象详解

测试代码: public class Employee {public String name;public String getType(){return "Employee";}} public class Manager extends Employee{private int money;public String getType(){return "Manager";} }public static void main(St…

java实例化对象后面添加花括号的理解分析

java实例化对象后面添加花括号的理解分析 昨天在看MyBatis官方文档时看到这么一段代码 return new SQL() {{SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME");FROM("PERSON P");if (id ! null) {WHERE("P.ID like #{id}");}…

Unity 创建/实例化对象

在程序运行过程中创建、实例化对象物体需要用到Object类中的 Instantiate 函数,例如,我们场景中有一个物体A: 现在我们想要在场景中创建五个该物体,则用Instantiate函数将该物体作为参数传入: using UnityEngine;pu…

几种对象实例化方式详解

一)对象实例化常用方式 方式一:直接new一个对象,最常用的一种。 方式二:反射,通过Class.forName("类的全限定名")。 方式三:构造器,通过Class.forName("类的全限定名")&…

yolov5剪枝 实战

(1)步骤 剪枝的一般步骤只是在正常训练的后面加上了稀疏化训练和剪枝的步骤。 (2)稀疏化训练 主要区别 稀疏化训练的代码和正常训练的代码的差别主要体现在 ①反向传播 ②优化器 ③parse_opt代码 接下来从代码执行训练简单分析…

Spark 推测执行(speculative)

一 speculative简介 在spark作业运行中,一个spark作业会构成一个DAG调度图,一个DAG又切分成多个stage,一个stage由多个Task组成,一个stage里面的不同task的执行时间可能不一样,有的task很快就执行完成了,…

INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践

INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践 文章目录 INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践结构稀疏量化在 TensorRT 中部署稀疏量化模型的工作流程案例研究:ResNet-34要求第 1 步:…

非引导方法深度补全系列——1—— 《Sparsity invariant cnns》文章细读

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 创新点 论文概述 方法详解 网络结构: 杂七杂八 总结 参考 创新点 1.提出了一种稀疏卷积层,在卷积过程中使用二进制有效性掩码来指示缺失…

模型剪枝三:Learning Structured Sparsity in Deep Neural Networks

论文:https://arxiv.org/abs/1608.03665 代码:https://github.com/wenwei202/caffe/tree/scnn 1 核心思想 前面两篇文章https://blog.csdn.net/cdknight_happy/article/details/110953977和https://blog.csdn.net/cdknight_happy/article/details/1110…

Exploring Sparsity in Image Super-Resolution for Efficient Inference

目录 原文翻译 Abstract 1. Introduction 2. Related Work 4. Our SMSR Network 4.1. Sparse Mask Generation 4.2. Sparse Mask Convolution 5. Experiments 5.1. Implementation Details 5.2. Model Analysis 5.3. Comparison with State-of-the-art Methods Conclusion …

稀疏大模型简述:从MoE、Sparse Attention到GLaM

文 | 唐工源 | 知乎 Sparsity, ..., is another important algorithmic advance that can greatly improve efficiency. 稀疏性,是(神经架构搜索)之外另一个重要的算法进步,可以大大提高效率。 The use of sparsity in models is…

Sparse Learning

Sparse Learning 本文的内容主要来自余凯老师在CVPR2012上给的Tutorial。前面在总结ScSPM和LLC的时候,引用了很多Tutorial上的图片。其实这个Tutorial感觉写的挺好的,所以这次把它大致用自己的语言描述一下。不过稀疏编码是前两年比较火的东西&#xff0…

理解sparse coding

稀疏编码系列: (一)----Spatial Pyramid 小结(二)----图像的稀疏表示——ScSPM和LLC的总结(三)----理解sparse coding(四)----稀疏模型与结构性稀疏模型 -------------…

干货!SparCL,将Sparsity用在连续学习任务,相同表现下训练效率提升23倍!

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 作者简介 王梓枫 美国东北大学博士生,主要研究方向持续学习(Continual Learning)。 个人主页:https://kingspencer.github.io/ 报告题目 SparCL: 边缘设备上的稀疏…