Node - 使用 NODE_MODULE_VERSION 72 针对不同的 Node.js 版本进行编译

Posted

技术标签:

【中文标题】Node - 使用 NODE_MODULE_VERSION 72 针对不同的 Node.js 版本进行编译【英文标题】:Node - was compiled against a different Node.js version using NODE_MODULE_VERSION 72 【发布时间】:2020-12-22 00:20:39 【问题描述】:

我正在开发一个节点应用程序。我必须与robotjs 一起工作。当我尝试将包安装到我的节点应用程序时,我遇到了一些错误。

Activating extension 'x' failed: The module '\\? 
\d:\x\app\node_modules\robotjs\build\Release\robotjs.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 75. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`)

我认为这可能是因为我的 Node 版本。 S0 我将节点版本从 v12.18.3 更改为 v14.9.0。

但是在改变之后,我得到了。

Activating extension 'x' failed: The module 
'\\?\d:\x\app\node_modules\robotjs\build\Release\robotjs.node' 
was compiled against a different Node.js version using NODE_MODULE_VERSION 83. 
This version of Node.js requires NODE_MODULE_VERSION 75. 
Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm 
install`)

在搜索了我的问题和robotjs 之后,我发现了这个robotjs-***。

但这也不适合我。我试图重建以 NODE_MODULE_VERSION 75 为目标的 robotsjs 包。仍然是同样的问题。

稍微挖掘了一下,发现没有包含NODE_MODULE_VERSION 75的node版本。检查 NODE_MODULE_VERSION 列。那为什么我会收到错误消息。有什么帮助吗?

【问题讨论】:

【参考方案1】:

试试这些方法

1) 你必须重建包并告诉 npm 更新它的二进制文件。试试:

npm rebuild robotjs --update-binary

    如果它不起作用,您需要从 node_modules 文件夹中删除模块文件夹(robotjs)并重新安装,使用以下命令:

      rm -rf node_modules/robotjs
    
      npm install
    

更多信息请参考Node - was compiled against a different Node.js version using NODE_MODULE_VERSION 51

这里是列表 node_module 版本https://nodejs.org/en/download/releases/

3npm cache clean --force 如果您使用的是windows,请尝试按照以下步骤操作

【讨论】:

没有结果,还是一样的错误。尝试了npm rebuild robotjs --update-binary.\node_modules\.bin\electron-rebuild.cmd。应用npm rebuild robotjs --update-binary 后错误相同,但应用.\node_modules\.bin\electron-rebuild.cmd 后错误从NODE_MODULE_VERSION 72 to 83 更改。你能告诉我This version of Node.js requires NODE_MODULE_VERSION 75 的错误是什么意思吗?? npm 使用你的本地节点重建,这不是robotjs 所拥有的。这就是错误的意思。

以上是关于Node - 使用 NODE_MODULE_VERSION 72 针对不同的 Node.js 版本进行编译的主要内容,如果未能解决你的问题,请参考以下文章

node-dev使用简介

Node 之 nvm 下载安装使用,以及node nrm 的相关使用

Node 之 nvm 下载安装使用,以及node nrm 的相关使用

仅使用 Node.js 与将 Node.js 与 Apache/Nginx 一起使用

使用 node-inspector 调试 node.js

Node.js - 使用 NVM 配置 $NODE_PATH