在我的电子应用程序中,我已经通过npm安装了sqlite3
npm install sqlite3
但是一旦我尝试与数据库交互,它就找不到数据库,下面是日志:
未捕获错误:无法找到模块“D:\play\electron-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如何安装一个模块来与电子一起工作?
6条答案
按热度按时间irlmq6kh1#
如果这些都不起作用,试试这个。
将其添加到package.json文件的脚本标记中
那就执行这个
这节省了我很多时间
e1xvtsh32#
1:在Package.json文件中包含rebuild并安装npm电子重建
2:安装python 2.7,并将其路径添加到环境变量中,例如C:\Python27;
3:npm INSTALL,然后npm run rebuild
zfciruhq3#
您刚刚安装了
sqlite3
模块,但需要重新构建它以在特定平台上运行。您需要electron-rebuild
包来重建二进制文件。从项目目录中运行命令
npm i --save-dev electron-rebuild
。安装˚electron-rebuild
后。运行以下命令为您的平台构建sqlite3二进制文件。如果重建失败,请运行
npm install
,然后再次运行上面给出的命令。von4xj4u4#
对于交叉编译,请尝试开箱即用的
sqlite3-offline
或sqlite3-offline-next
包b1payxdu5#
第一:
npm install electron-rebuild
然后尝试几次:
./node_modules/.bin/electron-rebuild -w sqlite3 -p
n3h0vuf26#
你必须用基于Electron的配置来构建这个本地模块。
尝试:
cd node_modules/sqlite3
npm run prepublish
node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.3-win32-x64
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
这是假设你有最新版本的电子。您可以更改配置以匹配您的电子版本。