1

在一个 Electron 项目中,我只是尝试要求 RobotJS 并得到了错误:

Uncaught Error: The module
'\\?\C:\Users\\... snip ...\app\bot\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 89. Please try re-compiling or re-installing the
module (for instance, using `npm rebuild` or `npm install`).

我在目录中尝试了建议npm install,但错误没有得到修复。npm rebuildnode_modules/robotjs

我尝试了几个不同的版本。我目前在最新的 RobotJS 分支上,所以我尝试转到过去的 Electron 版本。

Electron 11.0.0(显然最早的 11.x 版本):Node.js version using NODE_MODULE_VERSION 83. This version of Node.js requires NODE_MODULE_VERSION 85.

Electron 10.4.7(最新 10.x 版本):Node.js version using NODE_MODULE_VERSION 83. This version of Node.js requires NODE_MODULE_VERSION 82.

10.4.7 和 11.0.0 之间似乎没有任何 Electron 版本,所以接下来我尝试降低 RobotJS 版本,但这与我的 Node.js 版本不兼容:

error C2660: 'v8::Value::Int32Value': function does not take 0 arguments

而且我宁愿不使用各种 Node.js 版本和电子版本,因为有一个完美匹配的机会。

有没有比试错更简单的方法来确定是否有任何版本兼容?或者更好的是,如果不对其中一个库进行大量修改,是否可以修复兼容性?

4

0 回答 0