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

news2024/11/23 22:30:54

文章目录

      • 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.coloradmin.cn/o/875145.html

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

相关文章

16.2.3 【Linux】离线管理问题

要注意的是,我们在工作管理当中提到的“背景”指的是在终端机模式下可以避免 [crtl]-c 中断的一个情境, 你可以说那个是 bash 的背景,并不是放到系统的背景去。所以,工作管理的背景依旧与终端机有关。在这样的情况下,如…

近期关于开展微信小程序备案的通知,西米支付来教大家微信小程序如何备案

微信小程序备案步骤: 登录微信公众平台: 使用你的微信公众号管理员账号登录微信公众平台。 选择小程序管理: 在左侧菜单中选择“小程序”进行管理。 进入小程序设置: 选择你要备案的小程序,进入小程序管理页面。 填…

Hyper-V 虚拟机网络慢的原因及解决方案参考

Hyper-V VM 上的网络性能不佳 有几次我遇到过这样一种情况,即从运行Windows Server 的Hyper-V主机上的虚拟机复制文件的速度要慢得多。在本文中,我尝试描述几种不同的方法来提高在Windows Server (以及最新的Windows 10和11版本)上…

S7-200 SMART 通信端口以及连接方式

每个S7-200 SMART CPU都提供一个以太网端口和一个RS485端口(端口0),标准型CPU额外支持SB CM01信号板(端口1),信号板可通过STEP 7-Micro/WIN SMART软件组态为RS232通信端口或RS485通信端口。 CPU 通信端口引脚分配 1.S7-200 SMART CPU 集成的 RS485 通信…

seata server 1.6版本安装及配置

文章目录 下载安装并启动数据库导入数据库修改配置文件 服务注册配置中心手动添加脚本导入 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 Seata 是一款开源的分布式事务解决方案&#…

QT报表Limereport v1.5.35编译及使用

1、编译说明 下载后QT CREATER中打开limereport.pro然后直接编译就可以了。编译后结果如下图: 一次编译可以得到库文件和DEMO执行程序。 2、使用说明 拷贝如下图编译后的lib目录到自己的工程目录中。 release版本的重新命名为librelease. PRO文件中配置 QT …

c语言每日一练(7)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

Oracle常用基础知识

整体介绍 SQL语言是一种数据库语言 1、DDL:数据定义语言 create-创建 drop-删除 alter-修改 rename-重命名 truncate-截断 2、DML:数据操作语句 insert-插入 delete-删除 update-更新 select-查询 3、DCL:数据控制语句 grant-授权 rev…

c++字符串函数

在 C 中有大量用于操作 C-style 字符串的函数&#xff0c;它们集成在头文件 <cstring> 中。其常见的函 函数作用strcpy(s1,s2) 复制字符串 s2 到 s1strcat(s1,s2) 将字符串 s2 连接到 s1 末尾strlen(s) 计算字符串 s 长度strcmp(s1,s2) 比较字符串 s1 和 s2 …

deepin 深度操作系统正式适配苹果 M1 芯片

导读近日消息&#xff0c;据深度操作系统官方消息&#xff0c;在已经发布的 deepin V23 beta 版本中&#xff0c;深度操作系统正式适配 Apple Mac mini M1 了。 官方表示&#xff0c;Mac mini M1 是苹果于 2020 年 11 月发布的迷你电脑主机&#xff0c;它搭载了最高 3.2GHz …

走进知识图谱(三)【世界知识图谱篇】其他的知识表示学习模型

除了上篇文章介绍到的基于复杂关系建模的知识表示方法&#xff0c;我们还有多种基于平移模型而改进的知识图谱知识表示方法&#xff0c;并且它们都是对关系的深入建模。可以将它们归为两类&#xff0c;分别是知识图谱结构建模和知识图谱多源信息融合建模。这也对应了之前说的&a…

Mac远程桌面连接软件 Jump Desktop 8

Jump Desktop是一款功能强大的远程桌面连接软件&#xff0c;可让您从任何地方远程访问和控制您的计算机或服务器。它提供了快速、安全和可靠的远程连接&#xff0c;使您能够轻松访问您的文件、应用程序和数据&#xff0c;无论您身在何处。 以下是Jump Desktop的一些主要特点和功…

【图像分类】理论篇(3)交叉熵损失函数的理解与代码实现

理论公式 计算实例 图像分类实例&#xff1a; 我们希望根据图片动物的轮廓、颜色等特征&#xff0c;来预测动物的类别&#xff0c;有三种可预测类别:猫、狗、猪。假设我们当前有两个模型&#xff08;参数不同)&#xff0c;这两个模型都是通过sigmoid/softmax的方式得到对于每个…

又有大动作!美的集团计划在港交所上市,推进全球化布局

撰稿|行星 来源|贝多财经 8月9日&#xff0c;美的集团&#xff08;SZ:000333&#xff09;发布《关于研究论证重大事项的公告》&#xff0c;称其正在对境外发行证券&#xff08;H股&#xff09;并上市事项进行前期论证。若能成功发行&#xff0c;美的集团将实现“AH”两地上市…

用Python做一个滑雪小游戏

游戏是让人娱乐和放松的好方式&#xff0c;而编写和玩自己的游戏则是一种特别有趣的体验。在本文中&#xff0c;我们将使用Python和pygame库来创建一个简单的滑雪小游戏。通过这个小游戏项目&#xff0c;我们将学习如何使用Python编程语言来制作自己的游戏&#xff0c;并且享受…

timeout limit is 100 seconds错误

使用SERVER 2019进行开发&#xff0c;出现100秒超时的问题&#xff0c; Load operation failed for query GetDOC_STAFFWithPhoto. The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing 解决办法&#xff1a; 方法一&#xff1a;浏览…

卫星--夏令营

几何问题&#xff1a;就是用几何数学知识解题即可 但是越是数学编程题&#xff0c;越容易忽略数学题中的细节 1.地球半径你算进去了吗? 2.sin三角函数&#xff0c;M_PI标准圆周率在cmath文件里 3.有可能给出的夹角超过180呢&#xff0c;没给数据要求&#xff0c;就要自己考…

React源码解析18(5)------ 实现函数组件【修改beginWork和completeWork】

摘要 经过之前的几篇文章&#xff0c;我们实现了基本的jsx&#xff0c;在页面渲染的过程。但是如果是通过函数组件写出来的组件&#xff0c;还是不能渲染到页面上的。 所以这一篇&#xff0c;主要是对之前写得方法进行修改&#xff0c;从而能够显示函数组件&#xff0c;所以现…

数字后端笔试题(1)DCG后congestion问题

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 已知某模块的DCG结果显示存在congestion&#xff0c;有congestion部分逻辑结构如下图: 问题1: 如何分析该电路有congestion问题的原因&#xff1f; 答&#xff1a;data selecti…

Android Studio实现列表展示图片

效果&#xff1a; MainActivity 类 package com.example.tabulation;import android.content.Intent; import android.os.Bundle; import android.view.View;import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; im…