node.js - 找不到模块'E:\node_modules\sqlite3\lib\binding\napi-v6-win32-x64\node_sqlite3.node'
问题描述
我正在使用 sqlite3 模块开发一个电子应用程序,并且在一切都完成之后,我已经分别开发了与函数相关的代码现在我正在尝试将该单独开发的模块导入到我的 main.js 文件中,但是它从 require 中抛出了一个错误
找不到模块'E:\CSV-CONVERTOR\node_modules\sqlite3\lib\binding\napi-v6-win32-x64\node_sqlite3.node'
现在我已经尝试了很多解决方案,我附上了我在下面尝试过的解决方案
第一个,
如果有任何解决方案真的很感激帮助!
var sqlite3 = require('sqlite3').verbose();
这是我运行时完美工作的 sqlite 包的导入
node process.js
这个工作完美,但是当我尝试在 main.js(在电子中)中运行它时,它给了我这个错误
解决方案
好的,经过几次搜索,我现在找到了方法,首先你必须运行
npm install --save-dev electron-rebuild
然后接下来你必须安装 sqlite3 如果它已经安装你不必
npm install --save sqlite3
然后将此行添加到
包.json
然后运行这行代码
"rebuild": "electron-rebuild -f -w sqlite3"
现在这样做之后,您将在您的 sqlite 库中获得一个节点
/.../node_modules/sqlite3/lib/binding/electron-v1.4-darwin-x64/node_sqlite3.node
我唯一要做的就是大多数时候更改文件夹名称,它说电子-{您的版本}-darwin-x64而不是实际版本,因此您必须导航到此路径node_modules/sqlite3/lib/binding/
并根据您的版本重命名我的是 napi-v6-win32-x64 所以你必须重命名它
推荐阅读
- angular - 使用 ngFor 迭代一个角度为空的嵌套对象
- google-sheets - 无法从 IF 公式中找到返回的 MAX 值?
- kotlin - Kotlin:函数声明必须有名称
- google-bigquery - 默认情况下,临时表和作业在 bigquery 上运行多长时间?
- c# - C# Linq 不能使用“大于”运算符
- c# - 使 ListView 项目选择表单 ItemSource
- python - Django平均模型输入
- c# - 通过搜索 Id 在 EF 中更新一对多
- angular - JWT Bearer ASP.Net Core 3.1 用户在服务器上为空白
- python - 代码仅处理 14 行中的第一行