本文最后更新于 2326 天前,其中的信息可能已经有所发展或是发生改变。
Table of Content
用electron构建桌面程序中,若需要使用sqlite3作为数据库,经常会出现测试过程中报错module not found问题。然而在安装过程中,sqlite并没有出现任何问题。
这是因为sqlite3使用了node-gyp模块,在不同的操作环境下可能需要重新编译源码。
目前针对这种情况有两个可行的解决方案,根据实际测试,这两种解决方案均可以解决问题。
若要在不同的操作系统下发布dist版本,仍然需要在目标操作系统的环境下重新安装依赖后打包。
Windows环境下若需要rebuild需要执行如下命令安装windows-build-tools
npm install windows-build-tools -g
以下方法均要求安装python 2.7依赖
方法一
执行命令:
npm install sqlite3@latest --build-from-source --runtime=electron --target=${electron_version} --dist-url=https://atom.io/download/electron --save
其中${electron_version}指的是你当前环境下安装的electron版本。确认版本信息的方式是:
在当前project文件夹下
electron --version
若安装的electron不是global的,则需要到/node_module/bin
下运行。
方法二
npm i sqlite3 --save
npm i electron-rebuild --save
在目标project下执行这两条命令后,到
/node_module/.bin
下执行:electron-rebuild
Windows系统下执行electron-rebuild.cmd
即可正常进行基于sqlite的开发。