【问题标题】:NodeJS: How to fix different node module version? [duplicate]NodeJS:如何修复不同的节点模块版本? [复制]
【发布时间】:2018-01-27 10:45:14
【问题描述】:

我正在尝试启动 nodeJS 应用程序,但我确实收到了错误

Error: The module '/Users/api/node_modules/bcrypt/lib/binding/bcrypt_lib.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 46. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).

我已经运行了npm installnpm rebuild。但是还是一样的错误...

【问题讨论】:

  • 检查 npm 命令列表。尝试 npm 更新模块名称
  • 请注意,robertklep 的答案比重复重定向页面上建议您删除整个 node_module 文件夹的答案要好得多。

标签: node.js


【解决方案1】:

bcrypt 包需要重新构建,因为它最初是使用另一个版本的 Node.js 安装的。

试试这个:

npm rebuild bcrypt --update-binary

对于纱线用户:

yarn add bcrypt --force

【讨论】:

  • 试过了,没用。仍然有警告NODE_MODULE_VERSION 48. This version of Node.js requires NODE_MODULE_VERSION 57
  • @spaceman 在这种情况下尝试重新安装bcrypt(或先卸载,然后重新安装)。
  • @robertklep 如何重新安装bcrypt?做npm install bcrypt --save 没有帮助。
  • @SuhailGupta 您必须更具体,或者甚至针对您遇到的具体问题提出一个新问题。
  • 如果你每晚使用node,将node二进制文件复制到/usr/local/bin/node是不够的,还需要将lib/node_modulesinclude/node复制到/usr/local/lib/node_modules/usr/local/include/node分别,其中最重要的是,当您在本地构建包时,它会设置新的 NODE_MODULE_VERSION 。复制文件后,确保从项目中擦除 node_modules 并重新安装 everything
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 2021-03-18
  • 2020-02-10
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
相关资源
最近更新 更多