问题描述
想在安卓端运行nodejs写的web服务器。目前遇到的问题是sqlite3模块的安装问题。
请问大佬们如何运行起来?
sqlite3官方给的一个解决方法是将sqlite3作为nodejs的一个核心插件,与nodejs一起交叉编译。但……恕咱弱鸡不知如何操作。
问题出现的平台版本及自己尝试过哪些方法
有尝试过sqlite3和better-sqlite3,但皆以失败告终。运行都出现类似的段错误:
@localhost ~/test node main
[1] 4206 segmentation fault (core dumped) node main
运行环境:NeoTerm(一个基于Termux的终端 大概)
装有nodejs、sqlite、libsqlite、libsqlite-dev、cmake、make、clang(替代gcc)和python2.7
相关代码
npm install sqlite3 --build-from-source --sqlite=~/../usr/bin/sqlite3
npm install better-sqlite3 --sqlite=./sqlite-amalgamation
其中sqlite-amalgamation
文件夹里面的代码是在官网(https://www.sqlite.org/downlo...)下载的sqlite-amalgamation-3270200.zip解压出来的(https://www.sqlite.org/2019/s...)
测试用的js:
const sqlite = require("sqlite3");
// const sqlite = require("better-sqlite3");
console.log(sqlite);
其他思路
因为只是用作数据库,若是大佬们有什么可以替代用的数据库也可以推荐(win和android上都可以方便使用的,Android是到时候演示的时候方便演示)
ps: 听说也有用docker编译出来arm64可用的sqlite库,但咱目前还是一脸懵逼的状态。。。
参考
https://github.com/JoshuaWise...
https://github.com/mapbox/nod...
https://github.com/mapbox/nod...
数据量不大可以考虑NEDB