在我的电子应用程序中,我已经通过npm
安装了sqlite3npm install sqlite3
但是一旦我尝试与数据库进行交互,就无法找到数据库,这里是日志:
未捕获错误:找不到模块' D:\ play \ _electrical-quick-start \ node_modules \ sqlite3 \ lib \ binding \ electron-v1.3-win32-x64 \ node_sqlite3.node'
这是JS代码:
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();
我也试着这样:
npm install sqlite3 --build-from-source
但无法安装!
另外,我正在使用Python3。如何安装模块以使用电子?
答案 0 :(得分:26)
首先:
npm install electron-rebuild
然后尝试几次:
./node_modules/.bin/electron-rebuild -w sqlite3 -p
答案 1 :(得分:9)
您必须使用基于电子的配置构建此本机模块。
尝试:
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
这假设您拥有最新版本的电子。您可以更改配置以匹配您的电子版本。
答案 2 :(得分:2)
您刚刚安装了sqlite3
模块,但是需要重建它才能在特定平台上运行。您将需要electron-rebuild
软件包来重建二进制文件。
从项目目录中运行命令npm i --save-dev electron-rebuild
。安装˚electron-rebuild
之后。使用以下命令为您的平台构建sqlite3二进制文件。
./node_modules/.bin/electron-rebuild -w sqlite3 -p
如果重建失败,请运行npm install
,然后再次运行上述命令。
答案 3 :(得分:1)
1:在Package.json文件中包含rebuild并安装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:安装python 2.7并将其路径添加到环境变量,例如C:\ Python27;
3:npm INSTALL然后 npm run rebuild
答案 4 :(得分:1)
如果这些都不起作用,请尝试此操作。
npm install electron-builder
将此添加到package.json文件的脚本标签中
"postinstall": "electron-builder install-app-deps"
然后执行
npm run postinstall
这节省了我很多时间
答案 5 :(得分:0)
就我而言,这解决了问题。构建失败几次后,它起作用了。问题仅在Windows pc上。当我尝试使用Mac时,它最初不需要任何进一步的设置/安装过程即可工作。
npm install electron-rebuild
./node_modules/.bin/electron-rebuild -w sqlite3 -p