electron-updater 报错 Cannot find module ‘debug‘

news2024/9/23 13:22:30

使用 electron-updater 更新 electron 应用,打完包安装启动出现这种报错:Cannot find module 'debug'Cannot find module 'builder-util-runtime'

electron-updater

项目依赖

{
  "electron": "^24.4.1",
  "electron-builder": "^23.6.0",
  "electron-builder-squirrel-windows": "^24.5.0",
  "electron-log": "^4.4.8",
  "electron-updater": "^5.3.0",
  "electron-vite": "^1.0.23",
}

完整报错

A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'builder-util-runtime'Require stack:
-/Applications/Post Tools.app/Contents/Resources/app.asar/node moduleselectron-updater/out/main.js- /Applications/Post Tools.app/Contents/Resources/app.asar/out/mainindex.js
at Module.resolveFilename (node:internal/modules/cjs/loader:1054:15at n. resolveFilename (node:electron/js2c/browser init:2:109974)at Module. load (node:internal/modules/cjs/loader:900:27)at f. load (node:electron/js2c/asar bundle:2:13330)at Module.require (node:internal/modules/cjs/loader:1120:19)at require (node:internal/modules/cjs/helpers:103:18)at Object.<anonymous> (/Applications/Post Tools.app/Contents/Resourcesapp.asar/node modules/electron-updater/out/main.js:4:32)at Module.compile (node:internal/modules/cjs/loader:1241:14)at Module.extensions..js (node:internal/modules/cjs/loader:1296:10)at Module.load (node:internal/modules/cjs/loader:1096:32)

问题原因

因为项目使用 pnpm 安装依赖,打完包后有些资源找不到,导致这种很奇怪的报错(Cannot find module 'xxx')。

问题解决

  1. 在项目根目录下,新建 .npmrc 文件。
  2. 配置
node-linker=hoisted

设置了 node-linker=hoistedpnpm 就会形成扁平化的结构,然后 electron-builder 会自动寻找依赖进行打包,就不会出现这种 Cannot find module 'xxx' 包找不到的情况。

  • 参考文档:https://github.com/electron-userland/electron-builder/issues/6481

欢迎访问:天问博客

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

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

相关文章

【机器学习】了解 AUC - ROC 曲线

一、说明 在机器学习中&#xff0c;性能测量是一项基本任务。因此&#xff0c;当涉及到分类问题时&#xff0c;我们可以依靠AUC - ROC曲线。当我们需要检查或可视化多类分类问题的性能时&#xff0c;我们使用AUC&#xff08;曲线下面积&#xff09;ROC&#xff08;接收器工作特…

第68篇:javafx编写扫描器UI界面的线程死锁问题及坑点总结

Part1 前言 大家好&#xff0c;我是ABC_123。之前编写工具的图形界面都是用swing框架来实现&#xff0c;但是swing框架已经10几年没有更新了&#xff0c;很多控件使用起来特别麻烦&#xff0c;然后界面美工需要花费很大精力。为了跟上知识更新的节奏&#xff0c;ABC_123最近花…

语言模型的自洽性思维链推理技术

论文标题&#xff1a;Self-Consistency Improves Chain of Thought Reasoning in Language Models 论文链接&#xff1a;https://arxiv.org/abs/2203.11171 论文来源&#xff1a;ICLR 2023 一、概述 尽管语言模型在一系列NLP任务中展现出了显著的成功&#xff0c;但它们在推理能…

django使用channels实现webSocket启动失败

问题描述 使用channels启动ASGI结果却是普通启动&#xff0c;如下&#xff1a; Watching for file changes with StatReloader Performing system checks...System check identified no issues (0 silenced). July 15, 2023 - 18:23:49 Django version 4.2, using settings s…

chatGPT 和AlphaGo下围棋,谁赢?垂域大模型有戏么?

这边来的少&#xff0c;但发个文章通报下近况&#xff0c;长期做AI产研、投融资工作后&#xff0c;后续主要在企业数字化与大模型结合的方向上&#xff0c;后续进展还是请关注&#xff1a;琢磨事。 上一篇提到最终大模型的格局很可能是有一个偏通用大模型&#xff0c;比如chatG…

Linux系统编程——文件(ioctl 函数)

文章目录 概念用户空间 ioctl驱动程序 ioctlioctl 在用户与驱动之间的协议——命令码实例分析ioctl-test.hioctl-test-driver.cioctl-test.c 概念 ioctl 是设备驱动程序中设备控制接口函数&#xff0c;一个字符设备驱动通常会实现设备打开、关闭、读、写等功能&#xff0c;在一…

GitOps自问自答

GitOps自提出以来受到很多关注&#xff0c;被认为是云原生最佳实践之一。这篇文章回答了关于GitOps的常见问题&#xff0c;帮助感兴趣的相关人员更好理解这一实践。原文: GitOps[1] 自从Weaveworks在2017年提出GitOps以来&#xff0c;已经在Twitter和KubeCon上引发了不少争议。…

Qt实现思维导图功能6『鹰眼视图』

前文链接&#xff1a;Qt实现思维导图功能5『纵向分布模式』 百度网盘体验地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1xotlkSPfG7E_37y_XPfDng 提取码&#xff1a;5li7效果图 1、动态演示效果&#xff1a; 思维导图-鹰眼视图 2、静态展示图片&#xff1a; 新…

Econ3107-econ5116-小组作业知识点精讲

对本文有疑问可以加微信 Tutor_0914联系。也可以访问我的个人辅导网站 &#xff1a; tutoryou 基本概念 option期权 期权&#xff08;Option&#xff09;&#xff0c;是一种选择权&#xff0c;指是一种能在未来某特定时间以特定价格买入或卖出一定数量的某种特定商品的权利…

Linux 知识学习总结

常用命名 du 作用&#xff1a;显示指定目录或文件所占磁盘空间大小。 示例&#xff1a; du -h 以K&#xff0c;M&#xff0c;G为单位自动适配显示 lxlx-virtual-machine:~/test/video$ du -h 1.2G du -m 指定以1MB为单位显示 lxlx-virtual-machine:~/test/video$ du -m 12…

Python潮流周刊#11:如何使用 Golang 运行 Python 代码?

你好&#xff0c;我是猫哥。这里每周分享优质的 Python 及通用技术内容&#xff0c;大部分为英文&#xff0c;已在小标题注明。&#xff08;标题取自其中一则分享&#xff0c;不代表全部内容都是该主题&#xff0c;特此声明。&#xff09; 本周刊精心筛选国内外的 250 信息源&a…

​注意力机制中的掩码详解

注意力机制的掩码允许我们发送不同长度的批次数据一次性的发送到transformer中。在代码中是通过将所有序列填充到相同的长度&#xff0c;然后使用“attention_mask”张量来识别哪些令牌是填充的来做到这一点&#xff0c;本文将详细介绍这个掩码的原理和机制。 我们先介绍下如果…

(简单)设计哈希集合 Java

为了实现哈希集合这一数据结构&#xff0c;有以下几个关键问题需要解决&#xff1a; 哈希函数&#xff1a;能够将集合中任意可能的元素映射到一个固定范围的整数值&#xff0c;并将该元素存储到整数值对应的地址上冲突处理&#xff1a;由于不同元素可能映射到相同的整数值&…

SpringBoot读取配置的方式

读取配置的几种方式 Spring Boot提供了多种方式来读取配置&#xff0c;下面是其中几种常用的方式&#xff1a; 使用application.properties或application.yml文件&#xff1a;在Spring Boot项目的classpath根目录下&#xff0c;可以创建一个名为application.properties或appli…

oc基本控件3

UIButton // // ViewController.m // OcDemoTest // // Created by Mac on 2023/7/14. //#import "ViewController.h"interface ViewController ()endimplementation ViewController- (void)viewDidLoad {[super viewDidLoad];// 1 创建按钮对象UIButton *button…

涂鸦智能打造专业家庭智能生活助手,实现人机交互升级

近年来&#xff0c;智能家居设备的品类不断拓展&#xff0c;同时&#xff0c;人们对AI与智能家居的联动愈发憧憬。自然语言交互是未来人机交互的主要趋势之一&#xff0c;其关键在于使AI具备主动理解信息的能力&#xff0c;让用户的交互更轻松。如何将智能场景的交互变得更“善…

MySQL-DDL-表结构操作-创建-案例

案例 根据页面原型/需求创建表&#xff08;设计合理的数据类型、长度、约束&#xff09; 具体操作 在idea中使用可视化图形界面创建 具体操作如下&#xff1a; 在该界面中进行属性的创建&#xff0c;进行属性名称、数据类型、约束、描述等信息的填写最终运行结果如下&…

800V高压电驱动系统盘点

2023年上海车展共有23家厂商的63个电驱动产品&#xff0c;经过梳理&#xff0c;本次展出的800V高压电驱动共有13款&#xff0c;可以说电驱动全面进入高压化。800V电驱动是一个系统性的话题&#xff0c;对于电机而言&#xff0c;挑战的方向主要围绕高速、高压、散热&#xff0c;…

替换空格

替换空格 请实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。 题目给的测试用例里有以下限制&#xff1a; 0 < s.length < 14。 split() 把字符串分割为子字符串数组 例如&#xff1a; var txt"ABCD EFGH IJKL MNOP QRSTU VWXYZ"; v…

微信小程序下拉选择

微信小程序中下拉框选择一般的交互方式有以下两种 直接下拉选择点击选择框后&#xff0c;弹出浮层进行选择 下边分别介绍两种方式的实现。在微信小程序中&#xff0c;这两种实现都需要修改三个文件 js 文件&#xff1a;下拉选择逻辑的具体实现 wxml 文件&#xff1a;下拉组件…