This guide is based on the very informative discussion in this article: Using node_sqlite3 with Electron
Install sqlite3
npm install sqlite3 --save
Navigate into the sqlite3 module folder
cd node_modules/sqlite3
Install nan locally into the sqlite3 folder (you will need it for the next step)
npm install nan@~2.1.0 --save
Prebulish the module:
npm run prepublish
Start compilation by setting the module path to the correct version, in this case node-v47-win32-x64
. It is located in your sqlite3 folder.
node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/node-v47-win32-x64
Finish compilation by setting your build to the correct target
version. You will find the target
version of your Electron-App in the version
file in the root folder of your Electron directory.
node-gyp rebuild --target=0.36.0 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell --module_name=node_sqlite3 --module_path=../lib/binding/node-v47-win32-x64
Now you can use sqlite3 in your Electron app.
Here is what worked for me:
git clone the starter electron app
npm install --save electron-rebuild
npm install bluebird /* (required module for electron-rebuild that doesn't come packed for some reason) */
npm install --save sqlite3
cd node_modules/sqlite3
npm install nan
npm run prepublish && node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.4-win32-x64 && node-gyp rebuild --target=1.4.13 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.4-win32-x64
electron v1.4.13 currently, so change the target to your version. Also change the target platform & forlder names if you want to compile for mac or *nix
GL!