NODE_MODULE_VERSION 46. 这个版本的 Node.js 需要 NODE_MODULE_VERSION 64. 请尝试重新编译或重新安装
Posted
技术标签:
【中文标题】NODE_MODULE_VERSION 46. 这个版本的 Node.js 需要 NODE_MODULE_VERSION 64. 请尝试重新编译或重新安装【英文标题】:NODE_MODULE_VERSION 46. This version of Node.js requires NODE_MODULE_VERSION 64. Please try re-compiling or re-installing 【发布时间】:2018-11-21 03:12:13 【问题描述】:我正在尝试执行提供给我的节点应用程序,它应该可以正常工作。
我已尝试运行它,但无法修复此错误:
seba@vps92941:~/services/drivetech$ node awto.js
/home/seba/services/drivetech/node_modules/bindings/bindings.js:83
throw e
^
Error: The module '/home/seba/services/drivetech/node_modules/zmq/build/Release/zmq.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 46. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (internal/modules/cjs/loader.js:731:18)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Module.require (internal/modules/cjs/loader.js:650:17)
at require (internal/modules/cjs/helpers.js:20:18)
at bindings (/home/seba/services/drivetech/node_modules/bindings/bindings.js:76:44)
at Object.<anonymous> (/home/seba/services/drivetech/node_modules/zmq/lib/index.js:6:30)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
我已经试过了:
重新构建模块 (zmq) 移除并重新安装模块 卸载所有内容(包括节点),重新安装 将 zmq 重新构建为全局模块我怎样才能摆脱这个?我不知道还能做什么。
这些是我的节点和 npm 版本:
节点:v10.4.0 npm:3.5.2
【问题讨论】:
检查nodejs --version
。由于两个 here 之间的差异,我遇到了类似的问题。
【参考方案1】:
我在 bcrypt 从节点 8 移动到节点 10 时遇到了同样的问题,最后我通过手动调用 node-pre-gyp 解决了:
cd node_modules/<module_name>
node-pre-gyp rebuild
这迫使 node-pre-gyp 工具(node 用来编译二进制模块的工具)采用正确的 node 版本。
可能在执行之前重新安装它以确保您拥有正确版本的 node-pre-gyp
npm i -g node-pre-gyp
希望对你有帮助
【讨论】:
以上是关于NODE_MODULE_VERSION 46. 这个版本的 Node.js 需要 NODE_MODULE_VERSION 64. 请尝试重新编译或重新安装的主要内容,如果未能解决你的问题,请参考以下文章
使用 NODE_MODULE_VERSION 64 针对不同的 Node.js 版本编译。此版本的 Node.js 需要 NODE_MODULE_VERSION 67
bindings.node' 是针对不同的 Node.js 版本使用 NODE_MODULE_VERSION 93 编译的。此版本的 Node.js 需要 NODE_MODULE_VERSION 89
node-gyp 针对错误的 NODE_MODULE_VERSION 进行编译