每次打开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,最安全,不影响其他软件)

  1. 确保安装 icu4c@74(如果还没装):

    brew install icu4c@74
  2. 编辑 ~/.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"

    保存退出。

  3. 立即生效

    source ~/.zshrc
  4. 重启 WebStorm(或关闭再打开终端面板),新开的终端就不需要再 source 了。

验证

 

 node --version

 

应该正常输出版本号,不再报 dyld 错误。

posted @ 2026-03-10 11:27  Questions张  阅读(1)  评论(0)    收藏  举报