无法安装最新版Node.js,版本始终停留在过时的v10,求解决方案
从你给出的错误信息来看,核心问题是你配置的软件源要么已经停止维护,要么和你的Ubuntu版本(focal/20.04)不兼容:
错误:12 http://ppa.launchpad.net/ubuntu-vn/ppa/ubuntu focal Release 404 Not Found
错误:13 https://deb.nodesource.com/node_8.x focal Release 404 Not Found
node_8.x的源早在多年前就停止更新了,根本不支持Ubuntu 20.04;而ubuntu-vn/ppa这个第三方源也已经不再维护focal版本,导致apt无法正常更新,自然没法安装新版Node.js。另外你提到用nvm也没效果,大概率是系统里的旧Node.js没清理干净,或者nvm的环境变量没生效。
下面分两种方案帮你解决:
方案一:用apt直接安装(适合不需要多版本切换的场景)
清理失效源
先把没用的源删掉,避免干扰:# 删除nodesource的旧8.x源 sudo rm /etc/apt/sources.list.d/nodesource.list # 移除ubuntu-vn的ppa sudo add-apt-repository --remove ppa:ubuntu-vn/ppa # 更新apt缓存 sudo apt update配置新版Node.js源
以安装最新LTS版本(比如v20)为例,执行官方提供的配置脚本,它会自动适配你的系统:curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -安装Node.js
sudo apt install -y nodejs验证版本
执行node -v和npm -v,应该能看到最新的版本号了。
方案二:用nvm管理(推荐,支持多版本切换)
nvm是Node.js版本管理工具,能彻底和系统级的Node.js隔离,避免版本冲突。
彻底卸载系统旧版Node.js
先把系统里的Node.js和npm完全删掉,防止干扰nvm:sudo apt purge -y nodejs npm sudo apt autoremove -y安装nvm
执行官方安装脚本:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash生效nvm环境变量
安装完成后,重启终端,或者执行以下命令(根据你的shell类型选择):- Bash用户:
source ~/.bashrc - Zsh用户:
source ~/.zshrc
- Bash用户:
安装最新版Node.js
- 安装最新稳定版:
nvm install node - 安装最新LTS版:
nvm install --lts
- 安装最新稳定版:
设置默认版本
让终端默认使用你安装的新版:nvm alias default node验证
执行node -v,应该能看到你刚安装的新版本,而不是旧的v10了。
如果执行过程中还有问题,可以检查一下你的shell配置文件(比如.bashrc)里是否有nvm的初始化代码,确保nvm在终端启动时自动加载。
内容的提问来源于stack exchange,提问作者Linh Chi Nguyen




