You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无法安装最新版Node.js,版本始终停留在过时的v10,求解决方案

解决Ubuntu下Node.js无法升级、仓库404的问题

从你给出的错误信息来看,核心问题是你配置的软件源要么已经停止维护,要么和你的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直接安装(适合不需要多版本切换的场景)

  1. 清理失效源
    先把没用的源删掉,避免干扰:

    # 删除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
    
  2. 配置新版Node.js源
    以安装最新LTS版本(比如v20)为例,执行官方提供的配置脚本,它会自动适配你的系统:

    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    
  3. 安装Node.js

    sudo apt install -y nodejs
    
  4. 验证版本
    执行node -vnpm -v,应该能看到最新的版本号了。


方案二:用nvm管理(推荐,支持多版本切换)

nvm是Node.js版本管理工具,能彻底和系统级的Node.js隔离,避免版本冲突。

  1. 彻底卸载系统旧版Node.js
    先把系统里的Node.js和npm完全删掉,防止干扰nvm:

    sudo apt purge -y nodejs npm
    sudo apt autoremove -y
    
  2. 安装nvm
    执行官方安装脚本:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    
  3. 生效nvm环境变量
    安装完成后,重启终端,或者执行以下命令(根据你的shell类型选择):

    • Bash用户:source ~/.bashrc
    • Zsh用户:source ~/.zshrc
  4. 安装最新版Node.js

    • 安装最新稳定版:nvm install node
    • 安装最新LTS版:nvm install --lts
  5. 设置默认版本
    让终端默认使用你安装的新版:

    nvm alias default node
    
  6. 验证
    执行node -v,应该能看到你刚安装的新版本,而不是旧的v10了。


如果执行过程中还有问题,可以检查一下你的shell配置文件(比如.bashrc)里是否有nvm的初始化代码,确保nvm在终端启动时自动加载。

内容的提问来源于stack exchange,提问作者Linh Chi Nguyen

火山引擎 最新活动