dyld:惰性符号绑定失败:未找到符号:_node_module_register

时间:2015-05-08 18:37:49

标签: node.js npm

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

最初,问题在于模块mongodb:我没有该软件包,因此我使用此命令mongodb安装了npm install mongodb

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

5 个答案:

答案 0 :(得分:32)

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

rm -rf node_modules/
npm install

那应该解决它。

答案 1 :(得分:20)

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

  1. 通过NVM确保使用正确版本的node.js,运行node -v;
  2. 通过nvm运行npm update安装并切换到正确的node.js版本后;
  3. 将所有软件包更新(或降级)到兼容版本后,运行npm rebuild;
  4. 注意:npm rebuild可能会抛出错误 - 只需反复运行npm rebuild,直到成功运行。
  5. 注意:某些命令可能会要求root(sudo)权限,这取决于您以前如何安装软件包,npm和节点本身。 nvm - 永远不需要以root身份运行(sudo)。

答案 2 :(得分:2)

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

中的节点
/usr/local/bin/node

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

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

答案 3 :(得分:0)

这对我有用:

rm -rf node_modules/
sudo npm install

答案 4 :(得分:0)

确保您的 nvm指向指向正确的nodejs版本。对我来说,我在安装npm模块时使用了不同的(更高的)。因此,只需运行**nvm use** v14.7.0