Electron app cant find sqlite3 module

匿名 (未验证) 提交于 2019-12-03 01:47:02

问题:

In my electron app I have installed sqlite3 via npm

npm install sqlite3

But once i try to interact with the database it cant find the database, here is the log:

Uncaught Error: Cannot find module 'D:\play\electron-quick-start\node_modules\sqlite3\lib\binding\electron-v1.3-win32-x64\node_sqlite3.node'

Here is JS code:

console.log('whooooo');  var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database('../db/info.db');  db.serialize(function () {     db.run("CREATE TABLE lorem (info TEXT)");         var stmt = db.prepare("INSERT INTO lorem VALUES (?)");     for (var i = 0; i < 10; i++) {         stmt.run("Ipsum " + i);     }     stmt.finalize();      db.each("SELECT rowid AS id, info FROM lorem", function (err, row) {         console.log(row.id + ": " + row.info);     }); }); db.close();

I also try in this way:

npm install sqlite3 --build-from-source

but it fails to install!

Also, i am using Python3. How do you install a module to work with electron?

回答1:

Firstly:

npm install electron-rebuild

then try this several times:

./node_modules/.bin/electron-rebuild -w sqlite3 -p



回答2:

You have to build this native module with Electron based configurations.

Try:
1. cd node_modules/sqlite3
2. npm run prepublish
3. node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.3-win32-x64
4. node-gyp rebuild --target=1.3.1 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.3-win32-x64

This is assuming you have the very latest version of electron. You can change the config to match your electron version.



回答3:

1: Include rebuild in Package.json file and install npm electron-rebuild

{   "name": "electron-quick-start",   "version": "1.0.0",   "description": "A minimal Electron application",   "main": "main.js",   "scripts": {     "start": "electron .",     "rebuild": "electron-rebuild -f -w sqlite3"   },   "repository": "https://github.com/electron/electron-quick-start",   "keywords": [     "Electron",     "quick",     "start",     "tutorial",     "demo"   ],   "author": "author",   "license": "CC0-1.0",   "devDependencies": {     "@types/file-saver": "0.0.1",     "electron": "1.7",     "electron-rebuild": "^1.6.0"   },   "dependencies": {     "sqlite3": "^3.1.13"   } }

2: install python 2.7 and add its path to environmental variable e.g C:\Python27;

3: npm INSTALL and then npm run rebuild



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!