首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:无法更好地定位绑定文件-sqlite3.node

错误:无法更好地定位绑定文件-sqlite3.node
EN

Stack Overflow用户
提问于 2018-06-23 04:26:59
回答 4查看 6.3K关注 0票数 4

问题

better-sqlite3的安装可能有一些问题,因为当我尝试执行index.js时(单击pastebin显示它)

node index.js

结果总是一样的。我试过使用MacOS,但在我的机器发行版中,它给了我以下同样的错误:

代码语言:javascript
复制
/home/mp8/webproject/electron-better-sqlite/node_modules/bindings/bindings.js:96
  throw err
  ^

Error: Could not locate the bindings file. Tried:
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/build/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/build/Release/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/Debug/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/out/Release/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/Release/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/build/default/better_sqlite3.node
 → /home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/compiled/8.11.3/linux/x64/better_sqlite3.node
    at bindings (/home/mp8/webproject/electron-better-sqlite/node_modules/bindings/bindings.js:93:9)
    at Object.<anonymous> (/home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/lib/database.js:4:40)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/mp8/webproject/electron-better-sqlite/node_modules/better-sqlite3/index.js:2:18)

我的目的是什么?

我想使用更好的sqlite3 33作为我的数据库,因为sqlite3没有给节点8.x和以后的支持。

我尝试了什么:

  1. 这个问题解决了向导号一和二的问题,但我仍然有同样的错误。
  2. make init,第一次安装的better-sqlite3给了我错误文件make/makefile找不到。当我做npm install better-sqlite3 --save时,我得到了同样的错误
  3. 确保better_sqlite3.node在我的node-modules路径上。是的它不在那里。

我想要什么?

我想正确地运行我的index.js,就像我在Mac上运行它一样。

Dependecies

创建init之后的package.json,如果不是,它只是一个better-sqlite3依赖项

代码语言:javascript
复制
{
  "_from": "better-sqlite3",
  "_id": "better-sqlite3@4.1.4",
  "_inBundle": false,
  "_integrity": "sha512-Y11HN9PQ9YUeKFMrmiHyOLAKElk2ATJzBZJvuzNwTMxoS7vUEEyLnUCtcBFqViLwbomr0RQwp2MBy/ogxF50PA==",
  "_location": "/better-sqlite3",
  "_phantomChildren": {},
  "_requested": {
    "type": "tag",
    "registry": true,
    "raw": "better-sqlite3",
    "name": "better-sqlite3",
    "escapedName": "better-sqlite3",
    "rawSpec": "",
    "saveSpec": null,
    "fetchSpec": "latest"
  },
  "_requiredBy": [
    "#USER",
    "/"
  ],
  "_resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-4.1.4.tgz",
  "_shasum": "9fe1dcf7b699087b98b1997cbb00261e265897e2",
  "_spec": "better-sqlite3",
  "_where": "/home/mp8/webproject/electron-better-sqlite",
  "author": {
    "name": "Joshua Wise",
    "email": "joshuathomaswise@gmail.com"
  },
  "bugs": {
    "url": "https://github.com/JoshuaWise/better-sqlite3/issues"
  },
  "bundleDependencies": false,
  "dependencies": {
    "bindings": "^1.3.0",
    "integer": "^1.0.5"
  },
  "deprecated": false,
  "description": "The fastest and simplest library for SQLite3 in Node.js.",
  "devDependencies": {
    "benchmark": "^2.1.4",
    "chai": "^4.1.2",
    "cli-color": "^1.2.0",
    "fs-extra": "^5.0.0",
    "mocha": "^4.1.0",
    "sqlite": "^2.9.0"
  },
  "gypfile": true,
  "homepage": "http://github.com/JoshuaWise/better-sqlite3",
  "keywords": [
    "sql",
    "sqlite",
    "sqlite3",
    "custom",
    "aggregate",
    "database",
    "transactions"
  ],
  "license": "MIT",
  "name": "better-sqlite3",
  "repository": {
    "type": "git",
    "url": "git://github.com/JoshuaWise/better-sqlite3.git"
  },
  "scripts": {
    "benchmark": "node benchmark",
    "install": "node-gyp rebuild",
    "install-debug": "node-gyp rebuild --debug",
    "lzz": "lzz -hx hpp -sx cpp -k BETTER_SQLITE3 -d -hl -sl -e ./src/better_sqlite3.lzz",
    "posttest": "rm -r ./temp/",
    "prepublishOnly": "npm run lzz",
    "pretest": "rm -r ./temp/ || true && mkdir ./temp/",
    "rebuild": "npm run lzz && node-gyp rebuild",
    "rebuild-debug": "npm run lzz && node-gyp rebuild --debug",
    "test": "$(npm bin)/mocha --bail --timeout 5000 --slow 5000"
  },
  "version": "4.1.4"
}

我的机器

代码语言:javascript
复制
Linux Lite 4.0, Ubuntu Based.
NVM (Node version Manager)
Node 8.11.1
NPM 5.6
EN

回答 4

Stack Overflow用户

发布于 2018-07-04 10:37:12

我有个问题看起来像你的问题

试试看:

projectToto >$ sudo rm -rf node_modules/

projectToto >$ npm install bindings

关于绑定-> https://www.npmjs.com/package/bindings的npm

票数 4
EN

Stack Overflow用户

发布于 2021-03-02 20:33:46

我遇到了类似的情况,直到我意识到我没有在那台机器上显式地安装构建工具。下面是在项目目录中运行时为我解析的内容(Ubuntu)

代码语言:javascript
复制
$ rm -rf node_modules/
$ rm package-lock.json

$ npm install build-tools -g
$ npm install
票数 2
EN

Stack Overflow用户

发布于 2021-09-29 13:21:58

对我来说,问题最终是我的项目中的循环依赖(角10.1.1,节点12.22.6)。

弄清楚这个有点棘手。角度编译器给出了多个“检测到的循环依赖关系中的警告:.”错误,但它们中没有一个包含实际引入错误的文件。我必须将项目返回到问题未发生的提交,然后调查发生了什么变化。这种更改似乎是无害的--一个文件导出了一个由另一个文件导入的常量。改变出口方向解决了问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50997956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档