排错: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
免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 排错:compiled against a different Node version