解决 Mac 上使用 Electron Updater 更新 App 不成功的问题!!!

文章目录

      • 1. 现象
      • 2. 分析并如何解决
      • 3. 后续

1. 现象

在Mac电脑上,使用Electron Updater对程序进行更新,但是一直不成功,也不报错。具体表现是这样的:当前我的程序版本是3.11版本,点击更新之后,也下载了,但是更新之后还是3.11,也就是意味着更新不成功。

对于具体问题具体分析,这里我先贴一下我的更新代码:

function checkForUpdates() {// 配置安装包远端服务器autoUpdater.setFeedURL("update_url");// 下面是自动更新的整个生命周期所发生的事件 // ------------start------------------autoUpdater.on('error', (e, message) => {sendUpdateMessage('error', message);});autoUpdater.on('checking-for-update', (e, message) => {sendUpdateMessage('checking-for-update', message);});autoUpdater.on('update-available', (e, message) => {sendUpdateMessage('update-available', message);});autoUpdater.on('update-not-available', (e, message) => {sendUpdateMessage('update-not-available', message);});// 更新下载进度事件autoUpdater.on('download-progress', (progressObj) => {sendUpdateMessage('downloadProgress', progressObj);});// 更新下载完成事件autoUpdater.on('update-downloaded', (event, releaseNotes, releaseName, releaseDate, updateUrl, quitAndUpdate) => {sendUpdateMessage('isUpdateNow');ipcMain.on('updateNow', (e, arg) => {//app退出并安装autoUpdater.quitAndInstall()});});// ------------start------------------//执行自动更新检查autoUpdater.checkForUpdates();//自定义Logger,查看问题所在autoUpdater.logger = {info(message) {builder += "info : " + message + "\n";},warn(message) {builder += "warn : " + message + "\n";},error(message) {builder += "error : " + message + "\n";}};

2. 分析并如何解决

在查阅了相关的资料就会发现,使用 electron 所打包的app,其实会存在各种日志,我们只需要查看日志,并按照日志,哪里出错就修改哪里即可。

日志的路径在哪里呢?首先你需要确定一下你的AppId,至于这个AppId,是需要你在package.json中配置的:

知道了这个AppId之后,就就可以查看以下目录:

/Users/user_name/Library/Caches/appId_name.Shiplit/ShipIt_stderr.log

看到的就是这种:

查看之后,就可以确定问题所在了。

ps:

我这边的问题是什么呢?主要是存在一个文件,它只是可读的权限,没有可写和可操作的权限。因此可以在终端,对这个文件进行

​ sudo chmod 777 target_file

然后重新打包,重试即可完成安装。

3. 后续

如果后续存在什么问题,可以根据这个log日志进行分析并逐步解决。如果你存在什么问题的话,可以加我v javainstalling,我们一起解决。

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

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

相关文章

11 迭代器|生成器|协程

文章目录 迭代器可迭代对象可迭代对象的本质iter()函数与 next()函数迭代器 Iterator样例 for...in...循环的本质使用的场景--斐波那契数列list和tuple也可以接收可迭代对象 生成器简介创建生成器方法一方法二总结 使用 send 唤醒 协程协程和线程差异简单实现协程greenletgeven…

微PE工具箱实现U盘重装Windows系统

教程来源 U盘重装Windows系统(微PE工具箱)_哔哩哔哩_bilibili 加上自己的一丢丢理解,如果你觉得长视频看了犯困,不如看看我的理解文章说不定能够帮助到你 准备工作 到这个网站使用迅雷下载免费无插件的官方镜像MSDN, 我告诉你…

JVM笔记 —— 出现内存溢出错误时时如何排查

一、出现内存溢出的几种情况 内存溢出错误分为StackOverflowError和OutOfMemoryError,前者是栈中出现溢出,后者一般是堆或方法区出现溢出,简称OOM 1. 栈溢出 StackOverflowError 栈溢出一般都是因为没有正确的结束递归导致的,无…

Linux中安装MySQL8版本,安装MySQL步骤,MySQL8离线安装

Linux中安装MySQL8版本的步骤如下: 1.检查下libaio.so.1的位置 [roottdx ]# whereis libaio.so.1 libaio.so: /usr/lib64/libaio.so.1 如果没有找到该文件 (1).在线安装 [roottdx ]# yum install -y libaio (2).离线安装: 上传之后执行命令安装&#…

pymysql 库 - python 操作 mysql

环境: Win10 x64 Python 3.7 PyMySQL 1.0.2 MySQL 8.0.27 1 安装 pip install pymysql 2 地址 https://pypi.org/project/pymysql/ 3.1 数据库版本查询 (search_version.py) import pymysql# 打开数据库连接 try:db pymysql.connect(hostlocalhost, userr…

python安装第三方包时报错:...\lib\site-packages\pip\_vendor\urllib3\response.py...

安装redis第三方包: pip install redis报错现象: 解决方法:使用以下命令可成功安装 pip install redis -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

关于网络入侵检测领域使用Spark/Flink等计算框架做分布式

关于网络入侵检测领域使用Spark/Flink等计算框架做分布式 0、引言1 基于LightGBM的网络入侵检测研究2 基于互信息法的智能化运维系统入侵检测Spark实现3 基于Spark的车联网分布式组合深度学习入侵检测方法4 基于Flink的分布式在线集成学习框架研究5 基于Flink的分布式并行逻辑回…

mongodb基础

mongodb语法 参考文档:https://docs.mongodb.com/manual/reference/ BSON Types BSON Type有2种标识符,整形和字符串 类型数值字符串说明Double1“double”String2“string”Object3“object”Array4“array”Binary data5“binData”Undefined6“un…

8.9黄金最新行情走势分析及短线交易策略

近期有哪些消息面影响黄金走势?黄金多空该如何研判? ​黄金消息面解析:周三(8月9日)现货黄金维持震荡,目前交投于1930美元附近,隔日现货黄金盘中震荡下行,失守1930关口并在美盘时段…

【Spring】-Spring的IoC和DI

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:什么是spring?IoC容器是什么?如何使代码解耦合?IoC的核心原理,IoC的优点。依赖注入/对象装配/…

【ARM 嵌入式 编译系列 10 -- GCC 编译缩减可执行文件 elf 文件大小】

文章目录 GCC 如何缩减可执行文件size测试代码 上篇文章:ARM 嵌入式 编译系列 9-- GCC 编译符号表(Symbol Table)的详细介绍 下篇文章:ARM 嵌入式 编译系列 10.1 – GCC 编译缩减可执行文件 elf 文件大小 GCC 如何缩减可执行文件s…

Linux下在qtcreator中创建qt程序

目录 1、新建项目 2、单工程项目创建 3、多工程项目创建 4、添加子工程(基于多工程目录结构) 5、 .pro文件 1、新建项目 切换到“编辑”界面,点击菜单栏中的“文件”-“新建文件或项目” 2、单工程项目创建 只有一个工程的项目&#…

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库,一套典型的移动端办公工具型APP Axure RP原型模板,可根据实际的产品需求进行扩展,也可以作为移动端原型设计的参考案例。为提升本作品参考价值,在模板设计过程中尽量追求…

chatGPT应用于房地产行业

作为 2023 年的房地产专业人士,您无疑认识到技术对行业的重大影响。近年来,一项技术进步席卷了世界——人工智能。人工智能彻底改变了房地产业务的各个方面,从简化管理任务到增强客户互动。 在本文中,我们将探讨几种巧妙的人工智…

HTML 语言简介

1.概述 HTML 是网页使用的语言,定义了网页的结构和内容。浏览器访问网站,其实就是从服务器下载 HTML 代码,然后渲染出网页。 HTML 的全名是“超文本标记语言”(HyperText Markup Language),上个世纪90年代…

zabbix自动注册服务器以及部署代理服务器

文章目录 Zabbix自动注册服务器及部署代理服务器一.zabbix自动注册1.什么是自动注册2.环境准备3.zabbix客户端配置4.在 Web 页面配置自动注册5.验证自动注册 二.部署 zabbix 代理服务器1.分布式监控的作用:2.环境部署3.代理服务器配置4.客户端配置5.web页面配置5.1 …

MS9940T 国产 模拟前端AFE芯片 11-15 节锂电池或磷酸盐电池管理芯片 替代BQ76940

产品简述 MS9940T 是模拟前端 (AFE) 芯片,支持11 到 15 组电池串联。通过 I 2 C ,主机控制器 可以使用 MS9940T 来实现电池组管理功能,例如监控(电池电压、电池组电流、电池组 温度)、保护(控制…

分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测

分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测 目录 分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.GWO-BiLSTM-Attention 数据分类预测程序 2.代码说明:基于灰狼优化算法&#xff08…

vuejs 设计与实现 - 组件的实现原理

1.渲染组件 如果是组件则:vnode .type的值是一个对象。如下: const vnode {type: MyComponent,}为了让渲染器能处理组件类型的虚拟节点,我们还需要在patch函数中对组件类型的虚拟节点进行处理,如下: function patc…

CentOS7.9 禁用22端口,使用其他端口替代

文章目录 业务场景操作步骤修改sshd配置文件修改SELinux开放给ssh使用的端口修改防火墙,开放新端口重启sshd生效 相关知识点介绍sshd服务SELinux服务firewall.service服务 业务场景 我们在某市实施交通信控平台项目,我们申请了一台服务器,用…