症状
运行一个节点项目,其依赖性更好sqlite3收到以下错误消息:
Error: The module '... /node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 83. This version of Node.js requires
NODE_MODULE_VERSION 93. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
' the module (for instance, using `npm rebuild` or `npm install`).
' bindings (node_modules/bindings/bindings.js:112:48)
原因
错误消息本身包含足够的详细信息,还显示了原因和解决方案。
简而言之:用于编译安装的better_sqlite3
的节点版本与当前使用的节点版本不同,因此它要求将其重新编译为当前版本。
解决方案
-
npm i -D electron-rebuild
. - 删除
node_modules
目录。 - 在
package.json
中添加scripts
。
"rebuild": "electron-rebuild -f -w better-sqlit3",
npm i
npm rebuild
参考链接: