使用npm创建项目遇dyld库加载错误,Node版本查询也失败
Node.js 动态库缺失错误(libicui18n.74.dylib)解决方法
安装了3个不同版本的Node.js,执行
npm create初始化新项目时遇到如下错误:dyld[68210]: Library not loaded: /opt/homebrew/opt/icu4c/lib/libicui18n.74.dylib Referenced from: <24066746-1ED4-3611-A914-272C96B743A8> /opt/homebrew/Cellar/node@16/16.20.2_1/bin/node Reason: tried: '/opt/homebrew/opt/icu4c/lib/libicui18n.74.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/icu4c/lib/libicui18n.74.dylib' (no such file), '/opt/homebrew/opt/icu4c/lib/libicui18n.74.dylib' (no such file), '/opt/homebrew/Cellar/icu4c@76/76.1_1/lib/libicui18n.74.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/icu4c@76/76.1_1/lib/libicui18n.74.dylib' (no such file), '/opt/homebrew/Cellar/icu4c@76/76.1_1/lib/libicui18n.74.dylib' (no such file)执行
node --version查询版本时也出现相同错误。
错误原因
Node.js@16编译时依赖的icu4c 74版本已被升级到76版本,导致动态链接库路径不匹配。
解决方法
方法1:重新安装对应版本的Node.js(Homebrew)
- 卸载当前的node@16:
brew uninstall node@16 - 重新安装node@16,Homebrew会自动适配当前系统的icu4c版本:
brew install node@16
方法2:使用nvm管理Node版本(推荐)
nvm安装的Node是独立环境,不会依赖系统级的icu4c,避免版本冲突:
- 先卸载Homebrew安装的node@16:
brew uninstall node@16 - 安装Node.js 16(若未安装nvm,需先安装nvm):
nvm install 16 - 切换到Node.js 16版本:
nvm use 16
方法3:临时软链接(不推荐)
通过创建软链接让旧版本Node找到新的icu4c库,可能引发其他依赖问题,仅作临时应急:
- 进入icu4c 76版本的lib目录:
cd /opt/homebrew/Cellar/icu4c@76/76.1_1/lib - 创建所需的软链接:
ln -s libicui18n.76.dylib libicui18n.74.dylib ln -s libicuuc.76.dylib libicuuc.74.dylib ln -s libicudata.76.dylib libicudata.74.dylib
内容的提问来源于stack exchange,提问作者reyna
相关产品推荐
相关产品推荐

