每次打开webstorm需要重新source才能找到node,Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.74.dylib
1 每次打开webstorm在MacOS系统下,需要重新source,node 报错
dyld[57097]: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.74.dylib
Referenced from: <83B26C74-F97D-3410-BB50-F95B27DFDEE9> /usr/local/Cellar/node@16/16.20.2_1/bin/node
Reason: tried: '/usr/local/opt/icu4c/lib/libicui18n.74.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/icu4c/lib/libicui18n.74.dylib'
(no such file), '/usr/local/opt/icu4c/lib/libicui18n.74.dylib' (no such file),
'/usr/local/lib/libicui18n.74.dylib' (no such file), '/usr/lib/libicui18n.74.dylib' (no such file, not in dyld cache),
'/usr/local/Cellar/icu4c@77/77.1/lib/libicui18n.74.dylib' (no such file),
'/System/Volumes/Preboot/Cryptexes/OS/usr/local/Cellar/icu4c@77/77.1/lib/libicui18n.74.dylib' (no such file),
'/usr/local/Cellar/icu4c@77/77.1/lib/libicui18n.74.dylib' (no such file), '/usr/local/lib/libicui18n.74.dylib' (no such file), '/usr/lib/libicui18n.74.dylib' (no such file, not in dyld cache)
2 解决方案
这个错误是 Homebrew 下 node@16 与 icu4c 版本不匹配的经典问题(node@16 编译时依赖 icu4c 74.x 的 dylib,而你现在的主 icu4c 已升级到 @77,导致 /usr/local/opt/icu4c 指向的库里没有 libicui18n.74.dylib)。
每次手动 source(大概是 export DYLD_LIBRARY_PATH)才能用,是因为这个环境变量只在当前终端会话生效。WebStorm 的内置终端默认是 interactive shell,会加载 ~/.zshrc,但如果你把 export 写在临时脚本或没放对地方,就会每次都要手动 source。
3 永久解决(推荐方式:加 DYLD_LIBRARY_PATH 到 ~/.zshrc,最安全,不影响其他软件)
-
确保安装 icu4c@74(如果还没装):
brew install icu4c@74 -
编辑 ~/.zshrc(用 VS Code / WebStorm / nano 都行):
nano ~/.zshrc
在文件最底部添加下面这行(推荐用 brew --prefix,自动适配路径):
Bash # Fix node@16 icu4c 74 库加载问题 export DYLD_LIBRARY_PATH="$(brew --prefix icu4c@74)/lib:$DYLD_LIBRARY_PATH"
保存退出。
-
立即生效:
source ~/.zshrc
-
重启 WebStorm(或关闭再打开终端面板),新开的终端就不需要再 source 了。
验证:
node --version
应该正常输出版本号,不再报 dyld 错误。

浙公网安备 33010602011771号