Better-sqlite3 自定义配置
跳到导航
跳到搜索
如果你想使用better-sqlite3
的自定义版本,可以在安装时指定你的自定义amalgamation目录。
npm install better-sqlite3 --build-from-source --sqlite3=/path/to/sqlite-amalgamation
但是,如果你在better-sqlite3
作为package.json
中的依赖项运行时运行npm install
,上述所需的标志将不会应用。因此,建议从依赖列表中删除better-sqlite3
,并添加一个类似于下面的preinstall
脚本。
{
"scripts": {
"preinstall": "npm install better-sqlite3@'^7.0.0' --no-save --build-from-source --sqlite3=\"$(pwd)/sqlite-amalgamation\""
}
}
你的amalgamation目录必须包含sqlite3.c
和sqlite3.h
。任何所需的编译时选项必须在sqlite3.c
中直接定义,如下所示。
// 这些放在文件顶部
#define SQLITE_ENABLE_FTS5 1
#define SQLITE_DEFAULT_CACHE_SIZE 16000
// ... 文件内容保持不变
分步示例
如果你创建一个依赖于better-sqlite3
自定义构建的包,可以按照以下步骤开始。
- 从其网站下载SQLite3源代码(例如,
sqlite-amalgamation-1234567.zip
) - 解压缩压缩文件
- 将
sqlite3.c
和sqlite3.h
文件移动到项目文件夹 - 在
package.json
中添加一个preinstall
脚本,如上所示 - 确保
--sqlite3
标志指向您的sqlite3.c
和sqlite3.h
文件的位置 - 在
sqlite3.c
顶部定义您喜欢的编译时选项 - 确保从您的
dependencies
中删除better-sqlite3
- 在项目文件夹中运行
npm install
如果你正在使用SQLite3加密扩展(例如SEE或sqleet),那么只需用您的加密扩展的源文件替换sqlite3.c
和sqlite3.h
即可。