Ubuntu 21.10安装Node.js LTS后node -v显示版本错误求助
问题根因
- Ubuntu 21.10系统默认APT源内置的Node.js版本为12.x,若未彻底卸载系统源安装的旧版本、或添加NodeSource源后未正确刷新APT缓存,APT会优先拉取默认源的低版本包
- 若系统内残留旧版本NodeSource源配置(比如之前添加过Node 12.x对应的源未清理),或
setup_lts.x脚本执行时因权限、网络问题未正确写入16.x的源配置,也会导致安装版本不符合预期 - npm会随Node.js主包自动安装,无需单独部署,未安装可选构建工具不影响主程序版本判断
修复步骤
- 彻底卸载现有旧版本Node.js,清理残留配置与安装缓存
sudo apt remove --purge nodejs npm sudo apt autoremove -y sudo apt autoclean
- 删除所有残留的NodeSource源配置文件,避免旧源干扰
sudo rm -f /etc/apt/sources.list.d/nodesource.list*
- 重新添加NodeSource源并刷新APT缓存
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt update
直接指定16.x版本的setup脚本,可避免泛用
setup_lts.x脚本可能出现的版本映射偏差、源指向错误问题,安装结果更可控。
- 重新安装Node.js
sudo apt install -y nodejs
- 执行版本校验,正常会输出v16.x.x的Node版本、以及对应配套的npm版本
node -v npm -v
后续可选配置
如果后续需要编译Node.js原生扩展模块,直接安装构建依赖即可:
sudo apt install -y build-essential
内容的提问来源于stack exchange,提问作者Gourab Mahapatra
相关产品推荐
相关产品推荐

