我有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)
答案 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,则命令几乎相同。
希望这会有所帮助