dyld:懒符号绑定失败:找不到符号:_node_module_register
我曾尝试重新安装和重buildnpm,但问题仍然存在。
最初,问题是模块mongodb
:我没有那个包,所以我使用这个命令npm install mongodb
。
它显示我以下错误:
dyld: Symbol not found: _node_module_register
尝试删除您的node_modules文件夹,然后再次运行npm install。
rm -rf node_modules/ npm install
这应该解决它。
基本上这个错误意味着 – 一些二进制包是在不同的node.js版本下构build的,并且不兼容 。
- 通过NVM确保你使用了正确版本的node.js,运行
node -v
; - 安装并切换到适当的node.js版本后,通过
nvm
runnpm update
; - 所有软件包更新( 或降级 )到兼容版本后,运行
npm rebuild
; - 注意:
npm rebuild
可能会抛出错误 – 只需npm rebuild
运行npm rebuild
,直到成功运行。
注意:某些命令可能会要求root(sudo)权限,这取决于您以前如何安装软件包,npm和节点本身。 nvm
– 永远不需要以root身份运行(sudo)。
如果您刚刚更新节点并通过WebStorm运行脚本,请确保编辑您的运行/debuggingconfiguration并更新节点解释器的path。 我正在使用节点
/usr/local/bin/node
,但使用nvm安装Node 4之后,我需要使用
/path/to/.nvm/v4.2.2/bin/node
这对我来说是有效的:
rm -rf node_modules/ sudo npm install