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

这篇具有很好参考价值的文章主要介绍了解决 Mac 上使用 Electron Updater 更新 App 不成功的问题!!!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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中配置的:

解决 Mac 上使用 Electron Updater 更新 App 不成功的问题!!!,开发问题,macos,electron,前端

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

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

看到的就是这种:

解决 Mac 上使用 Electron Updater 更新 App 不成功的问题!!!,开发问题,macos,electron,前端

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

ps:

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

​ sudo chmod 777 target_file

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

3. 后续

如果后续存在什么问题,可以根据这个log日志进行分析并逐步解决。如果你存在什么问题的话,可以加我v javainstalling,我们一起解决。文章来源地址https://www.toymoban.com/news/detail-648350.html

到了这里,关于解决 Mac 上使用 Electron Updater 更新 App 不成功的问题!!!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • electron 使用electron-packager打linux-x64包与linux-arm64包,解决打包缓慢问题

    使用electron-packager打linux-x64包与linux-arm64包,解决下载zip打包缓慢问题 在使用electron-packager打包的过程中,需要在第一次下载electron版本对应的zip文件,下载很缓慢,而且还可能出现每次都在下载zip的情况 解决思路是提前下载好zip文件并修改electron—packager源码将zip的路径指定到

    2024年02月16日
    浏览(44)
  • 2022.08 使用npm安装electron及electron-forge安装中出现的卡顿、缓慢、报错问题的个人解决办法

    最近想尝试一下使用electron,但是光安装和打包发布的尝试就调整了一天 以下包括 electron-forge环境变量设置 electron本体安装时候的网络问题 electron-forge安装时候的报错和缓慢问题 electron源在国外还真是困扰 本文写于2022/08/25,请保证您的npm和node版本尽量是新的 设置npm electro

    2024年02月09日
    浏览(59)
  • MAC版Lightroom Classic 2022(Lrc2022)v11.5已发布,支持M1/M2和Intel三种系统,解决无法成功安装等问题

    近期MAC版Adobe Lightroom Classic更新了,全新的Lr2022新版本号是11.5,经小编测试是支持M1/M2芯片和Intel三种系统安装的,大家可以放心的安装使用了! lrc是一款桌面照片编辑和管理,照片后期处理软件,数码摄影师必备工具,主要面向数码摄影师、图形设计等专业人士和高端用户

    2024年02月05日
    浏览(73)
  • electron使用electron-builder进行MacOS的 打包、签名、公证、上架、自动更新

    由于electron在macOS下的坑太多,本文不可能把所有的问题都列出来,也不可能把所有的解决方案贴出来;本文也不太会讲解每一个配置点为什么要这么设置的原因,因为有些点我也说不清,我尽可能会说明的。所以,你要抛弃你之前所有已经完成的东西,最好弄一个全新的系统

    2024年02月03日
    浏览(39)
  • mac:彻底解决-安装应用后提示:无法打开“XXX”,因为无法验证开发者的问题;无法验证此App不包含恶意软件

    mac从浏览器或其他电脑接收了应用,但是点击应用时报错,错误信息 无法打开“XXX”,因为无法验证开发者的问题;无法验证此App不包含恶意软件 截图如下: 错误信息 无法打开“XXX”,因为无法验证开发者的问题;无法验证此App不包含恶意软件 在macOS上,如果在打开应用程

    2024年02月03日
    浏览(67)
  • 成功解决 Nginx更新静态资源无效 ,Nginx静态资源更新不及时,Nginx清除缓存

    使用 nginx做动静分离,在将服务器中的静态资源修改后,访问页面,发现页面没有及时更新。 我这里是清除了浏览器缓存。 有关nginx禁止走缓存、直接走服务器请参考以下文章。 资料参考:Nginx更新静态资源不生效 我更新了静态资源下的一个文件。然后正常情况应该是在点

    2024年02月16日
    浏览(32)
  • 使用Electron + Vue3 + TS搭建桌面端应用并可热更新

    以下是必要的技术: Electron 13.0.0 Vue3 + TS Electron-updater Node 16.13.1 Element-plus Less Meansjs 安装Vue-cli(如果未安装): npm install -g @vue/cli 创建Vue3项目: vue create electron-vue3 启动项目: yarn serve 安装Electron: vue add electron-builder 启动项目: yarn electron:serve 如果报错,需要安装ts-loader: yar

    2023年04月26日
    浏览(87)
  • 【成功解决】Git 如何在自己的分支上更新主分支代码

    当发现自己开发的分支代码,需要更新当前主分支的时候,应该怎么操作。

    2024年02月11日
    浏览(54)
  • 解决npm安装electron总失败的问题

    百度和谷歌搜索,各种换源加代理都没解决。 最后找到了 https://npmmirror.com/ 这个网站,根据指导,安装定制的cnpm管理工具 npm install -g cnpm --registry=https://registry.npmmirror.com 然后执行cnpm install –save-dev electron 成功了。

    2024年01月19日
    浏览(42)
  • electron应用打包成功纪念一下

    electron应用打包成功纪念一下,以前曾经行过后来打包各种报错,现在有空就尝试解决一下 首先安装nvm能够方便切换node版本 顺利安装后你用nvm list查看node列表时会告诉你这个nvm不存在 回到最初版本然后打包看各种错误 还有一种错误是定位到js文件catch后面的{,这时只需要再

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包