Voicebox 报 “Database is locked“:如何解除 SQLite 锁并恢复数据库正常

发布时间:2026/9/9 23:40:47
Voicebox 报 “Database is locked“:如何解除 SQLite 锁并恢复数据库正常 Voicebox 报 Database is locked如何解除 SQLite 锁并恢复数据库正常【免费下载链接】voiceboxThe open-source AI voice studio. Clone, dictate, create.项目地址: https://gitcode.com/GitHub_Trending/voicebox1/voicebox在 Voicebox 中执行语音档案profile或生成generation相关操作时如果操作失败并报出 SQLite 锁错误Database is locked说明数据库文件被锁定后续写操作无法完成。官方故障排查文档给出的处理顺序是先关闭所有 Voicebox 实例再删除残留的 SQLite 锁文件-shm、-wal只有当数据库本身损坏时才需要删除整个数据库文件重建。本文只覆盖 Database is locked 场景按这两级步骤解除锁定并让数据库恢复正常。先判断现象属于哪一种官方文档将数据库类问题分成两个独立条目处理方式和数据后果完全不同动手前先区分开Database is locked Error现象是 profile 或 generation 操作失败、出现 SQLite 锁错误。解决方式是关闭实例并删除锁文件不会直接丢数据。Corrupted Database现象是应用启动即崩溃、数据缺失或损坏。解决方式是删除voicebox.db本身会删除所有语音档案和生成历史。只要你的现象是操作时报锁错误而非启动崩溃就按下面的主路径处理不要直接删数据库。第一步关闭所有 Voicebox 实例Voicebox 的语音档案和生成音频由 SQLite 数据库voicebox.db管理数据保存在各平台的 data 目录中macOS~/Library/Application Support/sh.voicebox.app/data/Windows%APPDATA%/sh.voicebox.app/data/Linux~/.config/sh.voicebox.app/data/在删除任何文件之前先确认没有 Voicebox 实例还在运行——应用运行时会持续写库锁文件删了也会被重新创建。关闭全部实例包括后台仍在运行的后端服务之后再进入第二步。第二步删除 SQLite 锁文件文档给出的锁文件删除命令以 macOS 为例删除的是 data 目录下的-shm与-wal两个文件# macOS rm ~/Library/Application\ Support/sh.voicebox.app/data/voicebox.db-shm rm ~/Library/Application\ Support/sh.voicebox.app/data/voicebox.db-wal这两个是 SQLite 的运行时附属文件不是数据库本体删除它们不删除数据文件voicebox.db本身。文档只给出了 macOS 路径写法Windows / Linux 请对应替换为你的 data 目录见上一节的平台路径列表要删除的文件名不变仍为voicebox.db-shm与voicebox.db-wal。结果验证完成上述步骤后重新打开 Voicebox重新执行之前失败的 profile 或 generation 操作。文档没有为锁错误单独定义成功日志或判定输出恢复与否的判断就是先前因锁而失败的操作能够正常完成不再报 SQLite 锁错误。删除锁文件只是针对运行时锁残留的处理不改变任何已有档案或历史数据。可选分支数据库本身损坏时重建如果删完锁文件、操作依旧异常且现象已经符合文档中 Corrupted Database 的条目应用启动崩溃、数据缺失或损坏才进入删除重建路径。先明确副作用这一步会删除所有语音档案和生成历史。文档在给出命令前明确要求——如果可能先导出重要档案。# macOS rm ~/Library/Application\ Support/sh.voicebox.app/data/voicebox.db # Windows del %APPDATA%\sh.voicebox.app\data\voicebox.db删除后重启应用应用会创建一个全新的数据库。如果你是源码开发者在仓库内做开发时还有just提供的数据库重置入口。db-reset的副作用是删除开发数据目录中的backend/data/voicebox.db并重新初始化只作用于当前开发环境的数据不影响已安装应用的数据目录just db-reset它先执行rm -f backend/data/voicebox.dbWindows 下为Remove-Item -Force再调用just db-init执行from backend.database import init_db; init_db()重建数据库实现见 justfile 的 Database 一节。仍然无解时如果删除锁文件甚至重建数据库后锁错误仍反复出现按文档的建议收集诊断信息再反馈在应用内 Help → About 查看 Voicebox 版本记录操作系统与 Voicebox 版本、复现步骤和错误信息例如uname -a # macOS/Linux 查看系统信息 python --version同时可以在 仓库文档 的 Still Having Issues? 一节按清单提交 Issue。【免费下载链接】voiceboxThe open-source AI voice studio. Clone, dictate, create.项目地址: https://gitcode.com/GitHub_Trending/voicebox1/voicebox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考