electron使用better-sqlite3打包失败(electron打包有进程没有界面)

news2024/11/24 8:36:22

remove *\chrome_100_percent.pak: Access is denied.

解决: 管理员权限执行:taskkill /IM 你的进程名.exe /F,再次执行build

electron使用better-sqlite3打包后有进程没有界面

原因是代码及依赖包安装有误,模块丢失。主要分享的是排查思路。

解决过程
  1. 添加日志模块,去关键地方找问题
const log = require('electron-log')
const { app } = require('electron')

log.transports.file.level = 'info'
log.transports.console.level = 'info'
  1. 关键地方添加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}`)
}
  1. 如果使用better-sqlite3模块需要安装如下两个依赖
pnpm install bindings file-uri-to-path --save
  1. 检查那些依赖是开发模式用的那些是生产模式用的

我的依赖如下:

"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"
  },
  1. 查看日志文件

日志文件一般在appData/roaming目录下,envtools是我的项目名

最后分享一下我的成果

原文地址

electron使用better-sqlite3打包失败(electron打包有进程没有界面)-小何博客

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

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

相关文章

Flat Ads将在杭州举办社交出海沙龙,探寻海外巨大增量空间

深圳站落幕后,Flat Ads社交沙龙活动迎来杭州站!11月29日,Flat Ads联动Alibaba Cloud、TopOn、融云,开展《泛娱乐社交APP出海新风口-杭州站》,分享如何捕捉出海新赛道的风向标,并迅速实现获客增长&#xff0…

36 mysql 主键冲突 和 唯一索引冲突

前言 我们这里 来看一下 我们经常碰到的 "duplicate key xxx" 测试表结构如下 CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(128) DEFAULT NULL,PRIMARY KEY (id) USING BTREE,KEY field1 (field1) USING BTREE ) ENGINEI…

超声功率放大器使用范围有哪些

超声功率放大器是一种特殊的设备,用于放大超声波信号的功率级别。它在各种领域都有广泛的应用范围,下面将详细介绍超声功率放大器的使用范围。 医学影像领域: 在医学影像领域,超声功率放大器被广泛用于超声诊断设备。它们能够放大…

亲测一款超实用的在线制作产品册工具,一看就会

最近,我一直在寻找一款简单易用的在线制作产品册工具,终于让我找到了一个超实用的神器!这款工具不仅功能强大,而且操作简单,一看就会。 首先,这款工具提供了丰富的模板和素材,用户可以根据自己的…

【测试功能篇 01】Jmeter 压测接口最大并发量、吞吐量、TPS

压力测试,我们针对比较关键的接口,可以进行相应的压力测试,主要还是测试看看接口能抗住多少的请求数,TPS稳定在多少,也就是吞吐量多少 安装 Jmeter的安装很简单,官网下载地址 http://jmeter.apache.org/ &…

万字长文:从 C# 入门学会 RabbitMQ 消息队列编程

RabbitMQ 简介 RabbitMQ 是一个实现了 AMQP 协议的消息队列,AMQP 被定义为作为消息传递中间件的开放标准的应用层协议。它代表高级消息队列协议,具有消息定位、路由、队列、安全性和可靠性等特点。 目前社区上比较流行的消息队列有 kafka、ActiveMQ、Pul…

mac中安装Homebrew

1、Homebrew是什么? 软件安装管理工具 2、先检查电脑中是否已经安装了Homebrew 打开终端输入:brew 提示命令没有找到,说明电脑没有安装Homebrew 如果提示上述图片说明Homebrew已经安装成功 3、安装Homebrew 进入https://brew.sh/ 复制的命…

3.ubuntu20.04环境的ros搭建

ros搭建比较简单,主要步骤如下: 1.配置ros软件源: sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list 2.配置密钥 sudo apt-key adv --keyser…

01线性回归

目录 常规求解: 矩阵求解 sklean算法求解 # 二元一次方程 # x y 14 # 2x - y 10 常规求解: x np.array([[1,1],[2,-1]])print(x) # [[ 1 1] # [ 2 -1]]y np.array([14, 10])w np.linalg.solve(x, y)print(正常求救:)print(w) …

在Centos7.9_2207安装CDH6.3.2

在Centos7.9_2207安装CDH6.3.2 背景 笔者做大数据开发,实时部分一般要用到HBase、Kudu、Redis等组件来保证幂等性,为了方便,还是选用老古董CDH6.3.2【最后的免费版】做一个单节点机器,方便随时挂起。多节点虚拟机由之前的双路E5…

实践小记——C#科学计数法格式化输出

文章速览 示例默认输出,不设置小数精度设置尾数部分的小数精度 总结参考文章 坚持记录实属不易,希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区! 谢谢~ 示例 默认输出,不设置小数精度 private void Fo…

设计模式之桥接模式--连接抽象与实现(你想知道的问题都有)

目录 概述结构型设计模式桥接模式的定义桥接模式的角色和关系 版本迭代紧耦合版增加品牌两个品牌两款软件松耦合的设计版本迭代业务分析总结 问题升华抽象与实现抽象包含的一些方法或属性依赖于实现部分的接口关联关系与桥接模式桥接模式适合情况谁是实现,谁是抽象组…

vscode设置latex

vscode配置latex 1.安装vscode,并添加环境变量路径 2.安装latex,bin文件夹添加到环境变量路径 3.vscode安装插件 4.vscode->文件->首选项->显示配置内容->setting.json文件,查看其位置目录,通过我的电脑找到此文件(不要使用v…

torch - 张量Tensor常见的形式

1.Scalar 通常就是一个数值 x tensor(42.) 输出x: 2.Vector 特征向量 例如:[-5., 2., 0.]在深度学习中通常表示特征,如词向量特征,某一维度特征等 3.Matrix 一般计算的都是矩阵,通常都是多维的。 可以做矩阵的…

C# +.Net检验科信息管理系统源码 LIS系统源码

检验科信息管理系统(LIS) LIS系统集申请、采样、核收、计费、检验、审核、发布、质控、查询、耗材控制等检验科工作为一体的网络管理系统。它的开发和应用将加快检验科管理的统一化、网络化、标准化的进程。 主要包括以下功能: 1、数据采集…

【Python】集合与字典

按照输入顺序输出 将输入的名字去重,同时按照输入顺序输出 sinput().split(,) blist(set(s)) bsorted(b,keys.index) print(b) 删除集合元素、更新集合 根据操作删除更新集合 update括号里可以是一个集合,add只能是一个元素 discard用于删除元素&#x…

Fedora 项目近日发布了 Fedora Linux 39

导读几经推迟之后,Fedora 项目近日发布了 Fedora Linux 39,这是红帽公司赞助的面向大众的 GNU/Linux 发行版的最新稳定版本,采用了最新的技术和开源应用程序。 Fedora Linux 39 由 Linux 内核 6.5 支持,并提供了一些最新的桌面环境…

APP安全加固怎么做?加固技术、加固方法、加固方案

前面的文章中我们为大家介绍了移动应用安全检测的测试依据、测试方法、和测试内容,本文我们着重分享App安全加固的相关内容。 (安全检测内容) 通过前面的文章我们知道了app安全检测要去检测哪些内容,发现问题后我们如何去修复&am…

mfc140u.dll丢失的解决方法,以及针对每个解决mfc140u.dll丢失办法的优缺点

在使用电脑的过程中,有时会遇到一些与动态链接库文件(DLL)相关的错误。其中,mfc140u.dll丢失是一种常见的问题,它可能导致应用程序无法正常运行。在本文中,我们将探讨关于mfc140u.dll丢失的解决办法&#x…

1.数字化转型概述

中台数字化转型的问题 在中台数字化转型过程中,如何进行业务领域边界划分,如何完成中台领域建模实现能力复用,如何完成单体应用拆分利微服务设计,如何实现前中后台的协同设计; DDD解决的问题 DDD首先从业务领域人手&#xff0c…