electron使用better-sqlite3打包失败(electron打包有进程没有界面)
remove *\chrome_100_percent.pak: Access is denied.

解决: 管理员权限执行:taskkill /IM 你的进程名.exe /F,再次执行build
electron使用better-sqlite3打包后有进程没有界面
原因是代码及依赖包安装有误,模块丢失。主要分享的是排查思路。
解决过程
- 添加日志模块,去关键地方找问题
const log = require('electron-log')
const { app } = require('electron')log.transports.file.level = 'info'
log.transports.console.level = 'info'
- 关键地方添加try-catch
try {this.db = new sqlite3(name === '' || name === undefined ? this.dbName : name)this.db.pragma('journal_mode = WAL')
} catch (error) {logger.warn(`sqlite init fail, ${error}`)
}
- 如果使用better-sqlite3模块需要安装如下两个依赖
pnpm install bindings file-uri-to-path --save
- 检查那些依赖是开发模式用的那些是生产模式用的
我的依赖如下:
"dependencies": {"better-sqlite3": "^9.1.1","electron-log": "^5.0.0","iconv-lite": "^0.6.3"},"devDependencies": {"@rushstack/eslint-patch": "^1.3.3","@tsconfig/node18": "^18.2.2","@types/node": "^18.18.8","@vicons/ionicons5": "^0.12.0","@vitejs/plugin-vue": "^4.4.0","@vue/eslint-config-prettier": "^8.0.0","@vue/eslint-config-typescript": "^12.0.0","@vue/tsconfig": "^0.4.0","bindings": "^1.5.0","electron": "21.4.4","electron-builder": "23.6.0","electron-rebuild": "^3.2.9","eslint": "^8.49.0","eslint-plugin-vue": "^9.17.0","file-uri-to-path": "^2.0.0","idb": "^7.1.1","less": "^4.2.0","less-loader": "^11.1.3","naive-ui": "^2.35.0","npm-run-all2": "^6.1.1","pinia": "^2.1.7","prettier": "^3.0.3","safer-buffer": "^2.1.2","tree-kill": "^1.2.2","typescript": "~5.2.0","unplugin-auto-import": "^0.16.7","unplugin-vue-components": "^0.25.2","vfonts": "^0.0.3","vite": "^4.4.11","vite-plugin-electron": "^0.15.4","vite-plugin-electron-renderer": "^0.14.5","vue": "^3.3.8","vue-router": "4","vue-tsc": "^1.8.19"},
- 查看日志文件
日志文件一般在appData/roaming目录下,envtools是我的项目名

最后分享一下我的成果

原文地址
electron使用better-sqlite3打包失败(electron打包有进程没有界面)-小何博客
相关文章:
electron使用better-sqlite3打包失败(electron打包有进程没有界面)
remove *\chrome_100_percent.pak: Access is denied. 解决: 管理员权限执行:taskkill /IM 你的进程名.exe /F,再次执行build electron使用better-sqlite3打包后有进程没有界面 原因是代码及依赖包安装有误,模块丢失。主要分享的…...
2.6文件服务器
2.6文件服务器 一、Ftp 介绍 文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文 件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接信息&#x…...
【C++ 学习 ㊴】- 详解 C++ 的 I/O 流
目录 一、C 的 I/O 流 二、C 的标准 I/O 流 三、C 的文件 I/O 流 一、C 的 I/O 流 C 语言有一套完成数据读写(I/O)的解决方案: 使用 scanf()、gets() 等函数从键盘读取数据,使用 printf()、puts() 等函数向屏幕输出数据&#…...
js算法面试题(附答案)
js算法面试题十道 两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 function twoSum(nums, target) {const map new Map();for (let i 0; i < nums.leng…...
2023 年戴森设计大奖得主是谁?给大楼降温、争取救援机会
2023 年戴森设计大奖得主是谁?给大楼降温、争取救援机会 编辑拉风的极客2023/11/22 摘要 当今社会除了持续不断对科技创新保持注目,还有很多年轻发明家为了实际场景的难题提供解决方案。 11 月 15 日,2023 年戴森设计大奖国际大奖名单正…...
〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作…...
【word技巧】Word制作试卷,ABCD选项如何对齐?
使用word文件制作试卷,如何将ABCD选项全部设置对齐?除了一直按空格或者Tab键以外,还有其他方法吗?今天分享如何将ABCD选项对齐。 首先,我们打开【替换和查找】,在查找内容输入空格,然后点击全部…...
OpenHarmony 4.1计划明年Q1发布, 5.0预计Q3发布
据HarmonyOS官方组织透露,OpenHarmony 4.0 版本已于 10 月 26 日正式发布,开发套件同步升级到 API 10。开放原子开源基金会现更新了 OpenHarmony 4.1&5.0 版本路线图。据介绍,OpenHarmony 4.1 Beta 版本预计将于年底完成测试并发布&#…...
蓝桥等考C++组别八级002
第一部分:选择题 1、C++ L8 (15分) 整数12,8的最小公倍数是( )。 A. 4 B. 16 C. 24 D. 48 正确答案:C 2、C+&#...
秋招JAVA面经总结
面试的范围是Java基础+Java并发+Java框架+mysql+网络。 Java基础 重载与重写有什么区别? 重载(Overloading)指的是在同一个类中,可以有多个同名方法,它们具有不同的参数列表(参数类型、参数个数或参数顺序不同),编译器根据调用时的参数类型来决定调用哪个方法。 重写…...
Postgresql源码(116)提升子查询案例分析
0 总结 对于SQL:select * from student, (select * from score where sno > 2) s where student.sno s.sno; pullup在pull_up_subqueries函数内递归完成,分几步: 将内层rte score追加到上层rtbable中:rte1是student、rte2带…...
CNP实现应用CD部署
上一篇整体介绍了cnp的功能,这篇重点介绍下CNP产品应用开发的功能。 简介 CNP的应用开发,主要是指的应用CD部署的配置管理。 应用列表,用来创建一个应用,一般与项目对应,也可以多个应用对应到一个项目。具体很灵活。…...
kubeadm join 192.168.10.16:6443 --token xxx报错Failed to request cluster-info
1、node节点执行 kubeadm join 192.168.10.16:6443 --token hak4zi.hrib9uv4p62t1uok --discovery-token-ca-cert-hash sha256:4337638eef783ee6a66045ad699722079e071c2dfbaa21e37d3174f04d58ea97 --v2 报错 [discovery] Failed to request cluster-info, will try again: G…...
车载以太网-传输层-TCP
文章目录 TCP协议TCP协议报文格式TCP报文的示例TCP建立连接TCP断开连接TCP协议测试TCP协议 车载以太网TCP协议是一种在车载以太网网络中使用的传输控制协议(TCP)。它是一种面向连接的协议,用于在车辆之间或车辆与基础设施之间传输数据。TCP协议提供了可靠的数据传输,确保数…...
java:简单入门定时任务的几种方式Timer、Quartz、Spring Task
背景 后端的定时任务在许多应用中都扮演着重要的角色,它们可用于处理重复性任务、执行定期操作或处理需要定时触发的任务。以下是一些使用场景的示例: 数据同步:在分布式系统中,不同系统之间经常需要进行数据同步。例如…...
木子-前端-方法标签属性小记(普通jsp/html篇)2023~2024
目录 1、如何在前端页面将base转成存进input的图片格式 2、通过前端页面判断当前使用方式PC端还是手机端的极简易方法 1、如何在前端页面将base转成存进input的图片格式 不是直接存进input里,只是将文件转成对应的格式。 data.picPath是base64编码,我…...
音视频项目—基于FFmpeg和SDL的音视频播放器解析(十七)
介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…...
使用netty实现WebSocket协议通信
服务器与浏览器之间实现通信,一般都是由浏览器发起http请求,服务端对http请求进行响应,要实现服务端主动向浏览器推送数据,一般采用的方案都是websocket主动推送,或者前端实现轮询方式拉取数据,轮询方式多少…...
uniapp开发小程序,包过大解决方案
1、首先和大家说一下 微信小程序 主包限制不能超过2M 分包一共不能超过8M 然后具体解决优化步骤如下, 将主包进行分包 在pages.json 下subPackages里面进行配置分包 分包配置完 配置过的文件都需要进行修改对应的路径 2 、 在运行的时候 一定要勾选 压缩代码 有…...
Go语言中string与byte转换
简介 string与byte的转换是最常见的一种,通常我们会使用强转方式,但其实还有另一种更加高效的方式,本文会演示两种转换方式。 普通转换 func main() {fmt.Println([]byte("abcd"))fmt.Println(string([]byte{1, 2, 3})) }输出 […...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
