MacBook Air M1下VSCode运行Node.js文件报错:icu4c库缺失
问题原因
这个dyld错误的核心原因是:通过Homebrew安装PostgreSQL时,Homebrew自动升级了依赖库icu4c到74.2版本,但你当前使用的Node.js 21.6.2编译时依赖的是icu4c 73版本,系统找不到指定的旧版本库文件,导致Node进程启动失败。
解决方法
方法1:重装Node.js(推荐)
直接用Homebrew重装Node.js,让它重新编译适配当前系统中的icu4c版本:
brew reinstall node
重装完成后,执行node -v确认版本正常,再重新运行你的server.js文件即可。
方法2:安装对应版本的icu4c并创建软链接
如果需要保留当前Node.js版本,可手动安装旧版icu4c并创建软链接让Node找到依赖:
- 安装
icu4c73版本:
brew install icu4c@73
- 创建软链接到Node期望的路径:
ln -s /opt/homebrew/Cellar/icu4c@73/73.2/lib/libicui18n.73.dylib /opt/homebrew/opt/icu4c/lib/libicui18n.73.dylib ln -s /opt/homebrew/Cellar/icu4c@73/73.2/lib/libicuuc.73.dylib /opt/homebrew/opt/icu4c/lib/libicuuc.73.dylib ln -s /opt/homebrew/Cellar/icu4c@73/73.2/lib/libicudata.73.dylib /opt/homebrew/opt/icu4c/lib/libicudata.73.dylib
注意:这种方法可能在后续Homebrew更新时被覆盖,需要重新操作。
方法3:使用nvm管理Node版本(适合多版本场景)
如果平时需要切换多个Node版本,建议用nvm替代Homebrew管理Node:
- 先卸载Homebrew安装的Node:
brew uninstall node
- 安装nvm(如果未安装),然后安装指定版本的Node:
nvm install 21.6.2 nvm use 21.6.2
- 运行
server.js测试。
内容的提问来源于stack exchange,提问作者itoshi69sae
相关产品推荐
相关产品推荐

