NodeJS:如何修复不同的节点模块版本? [复制]
Posted
技术标签:
【中文标题】NodeJS:如何修复不同的节点模块版本? [复制]【英文标题】:NodeJS: How to fix different node module version? [duplicate] 【发布时间】: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 install
和npm rebuild
。但是还是一样的错误...
【问题讨论】:
检查 npm 命令列表。尝试 npm 更新模块名称 请注意,robertklep 的答案比重复重定向页面上建议您删除整个 node_module 文件夹的答案要好得多。 【参考方案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_modules
和include/node
复制到/usr/local/lib/node_modules
和/usr/local/include/node
分别,其中最重要的是,当您在本地构建包时,它会设置新的 NODE_MODULE_VERSION 。复制文件后,确保从项目中擦除 node_modules 并重新安装 everything。以上是关于NodeJS:如何修复不同的节点模块版本? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用两个不同的节点版本运行两个不同的nodejs应用程序[关闭]