繁体   English   中英

dyld:懒惰的符号绑定失败:找不到符号:_node_module_register

[英]dyld: lazy symbol binding failed: Symbol not found: _node_module_register

我已经尝试重新安装和重建 npm,但问题仍然存在。

最初,问题与模块mongodb :我没有这样的包,所以我安装mongodb使用此命令npm install mongodb

它向我显示以下错误:
dyld: Symbol not found: _node_module_register

尝试删除您的 node_modules 文件夹并再次运行 npm install。

rm -rf node_modules/
npm install

那应该解决它。

基本上这个错误意味着 -一些二进制包是在不同的 node.js 版本下构建的,并且彼此不兼容

  1. 通过NVM确保您使用的是正确版本的 node.js,运行node -v
  2. 通过nvm安装并切换到正确的 node.js 版本后,运行npm update
  3. 在所有包更新(或降级)到兼容版本后,运行npm rebuild
  4. 注意: npm rebuild可能会抛出错误 - 只需一次又一次地运行npm rebuild ,直到它成功运行。

注意:某些命令可能会要求 root (sudo) 权限,这取决于您之前如何安装包、npm 和节点本身。 nvm - 永远不需要以 root (sudo) 身份运行。

这对我有用:

rm -rf node_modules/
sudo npm install

如果您刚刚更新了节点并通过 WebStorm 运行脚本,请确保您编辑了运行/调试配置并更新了节点解释器的路径。 我在使用节点

/usr/local/bin/node

,但是在使用 nvm 安装 Node 4 之后,我需要使用

/path/to/.nvm/v4.2.2/bin/node

确保您的nvm 指向正确的 nodejs 版本。 对我来说,我在安装 npm 模块时使用了不同的(更高)。 所以就跑**nvm use** v14.7.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM