排错:compiled against a different Node version

  • 胡键
  • 更新于 2023-08-02 18:09
  • 阅读 1569

compiled against a different Node version

症状

使用 Better Sqlite3 的 node 项目运行报错,错误信息如下:

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,编译用的 node 版本和当前使用的 node 版本不一致,建议重新用当前版本编译一次。

解决方案

  1. npm i -D electron-rebuild 。

  2. 删除 node_modules 目录。

  3. 在 package.json 里 scripts 添加:

    "rebuild": "electron-rebuild -f -w better-sqlit3",
  4. npm i

  5. npm rebuild

参考链接:

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
胡键
胡键
CSM / 架构师 / 创业者,先后就职于中兴和 SAP,现专注于工业物联网、机器学习和区块链。同时,作为机器学习和区块链技术活动的组织者和分享者活跃于本地社区。