在nw.js 中使用加密的sqlite3和不加密的sqlite3 需要编译不同版本的node_sqlite3.node吗
时间: 2024-01-21 10:03:21 浏览: 129
在nw.js中使用加密的sqlite3和不加密的sqlite3需要编译不同版本的node_sqlite3.node。因为加密的sqlite3需要使用sqlcipher库,而不加密的sqlite3则不需要。因此,需要根据使用的sqlite3版本和是否需要加密来编译不同版本的node_sqlite3.node。具体步骤如下:
1. 安装node-gyp:`npm install -g node-gyp`
2. 在项目目录下安装sqlite3:`npm install sqlite3 --build-from-source --sqlite_libname=sqlcipher --sqlite=/usr/`(加密版本)或`npm install sqlite3`(不加密版本)
3. 进入sqlite3模块的源代码目录:`cd node_modules/sqlite3`
4. 根据需要编译不同版本的node_sqlite3.node:
- 加密版本:`npm run prepublishOnly -- --build-from-source --sqlite_libname=sqlcipher`
- 不加密版本:`npm run prepublishOnly -- --build-from-source`
5. 编译完成后,可以在`node_modules/sqlite3/lib/binding/`目录下找到编译好的node_sqlite3.node文件。
相关问题
nw 访问加密的sqlite3 和不加密的sqlite3 编译的node_sqlite3.node 一样吗
根据提供的引用内容,可以得出结论:访问加密的sqlite3和不加密的sqlite3编译的node_sqlite3.node不一样。因为在访问加密的sqlite3时,需要在编译时通过构建选项告诉sqlite3要集成的是SQLCipher,并且需要自己编译生成带加密功能sqlite_jni.dll。而在不加密的情况下,不需要进行这些操作。
nw 访问带密码的sqlite3 和不带密码的sqlite3 编译的node_sqlite3.node 一样吗
根据提供的引用内容,可以得出结论:nw 访问带密码的sqlite3 和不带密码的sqlite3 编译的node_sqlite3.node 不一样。
具体来说,引用提到了编译了64位和32位node-webkit的sqlite3,但并没有提到是否带密码。而引用则提到了如果官方给的方法和网上的文章都试过了还是编译不过,但又必须在nwjs里使用sqlite数据库,那么请继续往下看。这说明即使按照官方给的方法和网上的文章进行编译,也可能会出现编译不过的情况。因此,可以得出结论:nw 访问带密码的sqlite3 和不带密码的sqlite3 编译的node_sqlite3.node 不一样。
阅读全文