WSL Ubuntu中Node.js无法运行:缺失libicui18n.so.73库求助
解决WSL Ubuntu中Node.js缺失libicui18n.so.73的问题
问题分析
该错误源于Node.js依赖的ICU库(版本73)未在系统中找到,brew安装的Node与nvm的环境路径冲突、系统库未同步更新都可能导致这个问题。
解决方案
1. 排查并修复nvm与brew的环境冲突
- 先确认当前使用的Node来源:
若输出为brew路径(例如which node/home/linuxbrew/.linuxbrew/bin/node),说明环境变量优先调用了brew安装的Node,切换到nvm管理的版本:
设置默认版本避免重复切换:nvm use 21.7.1nvm alias default 21.7.1
2. 手动安装缺失的ICU 73版本库
系统默认包管理器可能无该版本,需手动编译安装:
- 安装编译依赖:
sudo apt update && sudo apt install -y build-essential wget - 下载ICU 73.2源码(匹配Node.js 21.x的依赖版本):
wget https://github.com/unicode-org/icu/releases/download/release-73-2/icu4c-73_2-src.tgz - 解压并编译安装:
tar xzf icu4c-73_2-src.tgz cd icu/source ./configure --prefix=/usr/local make -j$(nproc) sudo make install - 更新系统库缓存:
sudo ldconfig
3. 重新编译nvm管理的Node.js(若上述方法无效)
- 卸载当前nvm中的Node版本:
nvm uninstall 21.7.1 - 重新安装时指定使用系统ICU库:
此参数会让Node.js调用系统安装的ICU库,而非自带版本,避免版本不匹配。nvm install 21.7.1 --shared-libicu
4. 彻底隔离环境(卸载brew安装的Node)
若无需brew版本的Node,直接卸载:
brew uninstall node
重启终端确保nvm环境变量生效。
内容的提问来源于stack exchange,提问作者pradhyumn_32
相关产品推荐
相关产品推荐

