Ubuntu 22.04下npm与Node.js版本不兼容及Angular CLI报错求助
解决方案
1. 彻底清理现有Node.js/npm残留
当前Node.js(v12)与npm(v10)版本严重不兼容,且安装路径混乱,需先完全清理所有相关文件:
- 删除系统级Node模块目录:
sudo rm -rf /usr/lib/node_modules - 删除全局命令软链接:
sudo rm -rf /usr/bin/npm /usr/bin/npx /usr/bin/ng - 移除apt安装的Node.js(若存在):
sudo apt purge --autoremove nodejs npm - 移除snap安装的Node.js:
sudo snap remove node
2. 使用nvm安装兼容的Node.js版本
nvm是Node版本管理器,可避免系统级安装冲突,推荐采用:
- 安装nvm:
执行后重启终端,或运行curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashsource ~/.bashrc(zsh用户运行source ~/.zshrc)使nvm生效。 - 安装满足Angular CLI要求的Node.js版本(选择v20.x,兼容npm v10且符合最低版本标准):
nvm install 20 - 设置为默认版本:
nvm alias default 20
3. 验证安装并重新部署Angular CLI
- 检查版本是否达标:
node -v # 应显示v20.x系列版本 npm -v # 应显示与v20兼容的npm版本(如v10.x) - 重新安装Angular CLI:
npm install -g @angular/cli - 验证Angular CLI状态:
ng version
补充说明
之前snap安装无效是因为系统PATH优先级问题,旧版本Node仍被优先调用。彻底清理后用nvm安装,可确保版本隔离和正确的PATH配置,从根源避免版本冲突。
内容的提问来源于stack exchange,提问作者Carlo ianni
相关产品推荐
相关产品推荐

