【问题标题】:Warning on node showing wrong node version. Could it cause sqlite3 Error?节点上显示错误节点版本的警告。它会导致 sqlite3 错误吗?
【发布时间】:2016-03-11 06:29:46
【问题描述】:

运行 npm install 时,我收到警告消息:

npm WARN engine module@0.0.1: wanted: {"node":">= 0.2.9 < 0.7.0"} (current: {"node":"0.12.2","npm":"2.7.4"})

但在 package.json 中指定了节点 5.3.0(请参见下文) 为什么当前版本是 5.3 时消息告诉我版本 0.12? sqlite3的错误可能是这种情况吗?我收到消息:

Error: Cannot find module '...\node-v47-win32-x64\node_sqlite3.node'
    at Function.Module._resolveFilename (module.js:326:15)

但实际上 npm intall 为我创建了 node-v14-win32-x64 而不是 node-v47-win32-x64 目录。

{
  "name": "aesku-hera",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "supervisor ./bin/www"
  },
  "engines": {
    "node": "5.3.0",
    "npm": "2.7.4"
  },
  "dependencies": {
    "body-parser": "^1.12.4",
    "connect-busboy": "0.0.2",
    "cookie-parser": "~1.3.5",
    "debug": "~2.2.0",
    "execsql": "0.0.3",
    "express": "~4.12.4",
    "gm": "^1.18.1",
    "jade": "^1.9.2",
    "jsonfile": "^2.2.3",
    "module": "0.0.1",
    "moment": "^2.10.3",
    "morgan": "~1.5.3",
    "multer": "0.1.6",
    "node-hl7": "^0.1.3",
    "node-json-db": "^0.6.3",
    "node-mv": "^0.1.3",
    "periodic-task": "^0.1.0",
    "pg": "^4.4.0",
    "request": "^2.58.0",
    "serve-favicon": "~2.2.1",
    "sqlite3": "^3.1.1",
    "string": "^3.3.0"
  }
}

【问题讨论】:

    标签: node.js sqlite package.json


    【解决方案1】:

    您的 package.json 中的 engines 部分只是指示您的代码适用于哪个引擎(如节点)和版本 - 请参阅 documentation 了解更多详细信息。

    您本地安装的 Node 很可能是 0.12 版本。您应该将其升级到 5.3.0 或更高版本,然后尝试重新安装您的软件包。

    您可以使用命令快速验证您的Node版本 -

    node -v

    【讨论】:

    • 首先感谢您的回答。 node -v 显示 v5.3.0 引擎部分在 heroku 教程中进行了修改。在我设置正确的版本后,它帮助我修复了部署。我不明白与版本的混淆:npm install 中的节点显示为 0.12,安装了 sqlite3 的 v14 和 module.js 所需的 v47,最后实际安装了 v5.3。我应该卸载所有与节点相关的东西并重新安装干净吗?
    猜你喜欢
    • 1970-01-01
    • 2018-04-16
    • 2013-12-12
    • 2018-01-08
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多