环境
ReadAny Desktop:v1.3.5
Windows 安装包:ReadAny_1.3.5_x64_en-US.msi
ReadAny CLI:v0.1.0
Windows 版本:Windows 11 x64
Node.js:v24.13.0
问题描述
通过官方 Windows MSI 安装 ReadAny,并解决 CLI 入口路径问题后,Bundle/安装目录中的 ReadAny CLI 仍无法解析运行数据访问所需的 better-sqlite3。
因此,CLI 虽然能够启动,但原生 SQLite 功能不可用,无法正常读取现有书库。
复现步骤
在 Windows 上使用官方 v1.3.5 MSI 全新安装 ReadAny。
确认 Node.js 已安装并可用。
使用安装包提供的 ReadAny CLI 运行 doctor。
执行最小书库查询。
实际结果
安装目录中的 CLI 无法解析可用的 better-sqlite3,原生 SQLite 检查无法通过,书库查询不能正常工作。
官方 MSI 安装完成后,用户仍需自行进入 CLI 目录安装依赖。
预期结果
官方 Windows 安装包提供的 CLI 应具备完整、可直接运行的数据访问依赖:
doctor 应确认原生 SQLite 可用;
不应要求普通用户手动安装 npm 依赖;
最小书库查询应在安装后直接工作。
如果 CLI 需要使用系统 Node.js,也应在界面或文档中明确说明受支持的 Node.js 版本和原生模块安装方式。
已验证的临时解决办法
在 ReadAny CLI 目录中补充安装与 v1.3.5 依赖清单一致的:
better-sqlite3@12.10.1
安装到类似以下位置:
D:\Programs\readany-cli\node_modules
补充依赖后:
doctor 返回 nativeSqliteAvailable: true;
最小书库查询成功;
没有修改 ReadAny 数据库。
建议
建议检查 Windows MSI 的 CLI 打包过程,确认:
better-sqlite3 是否被遗漏;
原生二进制文件是否与随附或要求的 Node.js ABI 匹配;
CLI 是否应使用应用内置运行时,而不是依赖用户自行安装的 Node.js;
更新安装是否会覆盖用户手动补充的依赖。
如果该依赖有意不随安装包提供,建议让 doctor 和设置界面明确显示缺失的包、推荐版本及安装位置,而不是只显示 CLI 不可用。
环境
ReadAny Desktop:v1.3.5
Windows 安装包:ReadAny_1.3.5_x64_en-US.msi
ReadAny CLI:v0.1.0
Windows 版本:Windows 11 x64
Node.js:v24.13.0
问题描述
通过官方 Windows MSI 安装 ReadAny,并解决 CLI 入口路径问题后,Bundle/安装目录中的 ReadAny CLI 仍无法解析运行数据访问所需的 better-sqlite3。
因此,CLI 虽然能够启动,但原生 SQLite 功能不可用,无法正常读取现有书库。
复现步骤
在 Windows 上使用官方 v1.3.5 MSI 全新安装 ReadAny。
确认 Node.js 已安装并可用。
使用安装包提供的 ReadAny CLI 运行 doctor。
执行最小书库查询。
实际结果
安装目录中的 CLI 无法解析可用的 better-sqlite3,原生 SQLite 检查无法通过,书库查询不能正常工作。
官方 MSI 安装完成后,用户仍需自行进入 CLI 目录安装依赖。
预期结果
官方 Windows 安装包提供的 CLI 应具备完整、可直接运行的数据访问依赖:
doctor 应确认原生 SQLite 可用;
不应要求普通用户手动安装 npm 依赖;
最小书库查询应在安装后直接工作。
如果 CLI 需要使用系统 Node.js,也应在界面或文档中明确说明受支持的 Node.js 版本和原生模块安装方式。
已验证的临时解决办法
在 ReadAny CLI 目录中补充安装与 v1.3.5 依赖清单一致的:
better-sqlite3@12.10.1
安装到类似以下位置:
D:\Programs\readany-cli\node_modules
补充依赖后:
doctor 返回 nativeSqliteAvailable: true;
最小书库查询成功;
没有修改 ReadAny 数据库。
建议
建议检查 Windows MSI 的 CLI 打包过程,确认:
better-sqlite3 是否被遗漏;
原生二进制文件是否与随附或要求的 Node.js ABI 匹配;
CLI 是否应使用应用内置运行时,而不是依赖用户自行安装的 Node.js;
更新安装是否会覆盖用户手动补充的依赖。
如果该依赖有意不随安装包提供,建议让 doctor 和设置界面明确显示缺失的包、推荐版本及安装位置,而不是只显示 CLI 不可用。