ifxnjs不支持NODE_MODULE_VERSION 64

时间:2018-11-27 22:28:08

标签: informix

我有Node.js版本10.13.0,并且我已经安装了ifxnjs,当尝试连接到notifyix数据库时,出现以下错误。我必须使用版本10的节点运行我的测试用例,因为开发代码正在该版本上运行,并且我必须针对开发代码运行我的测试用例。谁能帮助我解决以下错误? ifxnjs是否支持节点版本10.13.0。任何帮助表示赞赏。

Error: The module '\\?\C:\Project\node_modules\ifxnjs\build\Release\ifx_njs_bind.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 57. 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:717:18)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at bindings (C:\Project\node_modules\bindings\bindings.js:81:44)
    at Object.<anonymous> (C:\Project\node_modules\ifxnjs\lib\odbc.js:33:31)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)

2 个答案:

答案 0 :(得分:0)

我们计划很快发布此版本。看起来您在Windows上,那么我们将为此提供优先级。

答案 1 :(得分:0)

可能的问题是您已经升级了nodejs,并且试图在新版本中使用由旧版本的node编译的节点模块。

简单的解决方案应该是删除所有软件包,然后重新安装

rm -rf node_modules
rm -rf package-lock.json
npm i

如果这不能解决您的问题,则可以尝试重建软件包。此命令再次从Internet下载资源并重建它们。

npm rebuild ifxnjs --build-from-source

在某些情况下,我仍然遇到问题,解决方案是手动重建模块

cd node_modules/ifxnjs
node-pre-gyp rebuild

这迫使node-pre-gyp工具(node用于编译二进制模块的工具)采用正确版本的node。

如果使用npm,则这些示例有效,如果使用yarn,则命令几乎相同。

希望这会有所帮助