NODE_MODULE_VERSION 46。此版本的 Node.js 需要 NODE_MODULE_VERSION 64。请尝试重新编译或重新安装

2024-01-18

我正在尝试执行提供给我的节点应用程序,它应该可以正常工作。

我已尝试运行它,但无法修复此错误:

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


我在 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

希望这可以帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NODE_MODULE_VERSION 46。此版本的 Node.js 需要 NODE_MODULE_VERSION 64。请尝试重新编译或重新安装 的相关文章

随机推荐