You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu16.04LTS无法升级Node,npm及@angular/cli安装受阻求助

解决Node.js相关问题及apt源错误

一、先确认Node.js的正确验证命令

首先要注意,验证Node.js版本的正确命令是 node --version(或者简写node -v),而不是nodejs --version——这很可能就是你遇到命名冲突的直接原因!Ubuntu默认仓库里有个叫node的包(是一款业余无线电工具),而Node.js官方包通常用nodejs命名,这种命名差异很容易导致混淆。

二、修复apt-get update的404错误

你执行sudo apt-get update时遇到的http://extras.ubuntu.com/ubuntu xenial源404问题,是因为Ubuntu Xenial(16.04)已经停止官方支持,这个额外源已经被移除了。解决步骤如下:

  1. 打开系统软件源配置文件:
    sudo nano /etc/apt/sources.list
    
  2. 找到所有包含http://extras.ubuntu.com/ubuntu xenial的行,在行首添加#将其注释掉,或者直接删除这些行。
  3. 保存并退出编辑器(按Ctrl+O后回车确认保存,再按Ctrl+X退出)。
  4. 重新执行更新命令:
    sudo apt-get update
    

这样就能解决源的404错误了。

三、解决Node.js的命名冲突问题

如果确实是node包和nodejs包的命名冲突导致异常,你可以按以下步骤处理:

  1. 先卸载冲突的node包(如果已经安装):
    sudo apt-get remove --purge node
    
  2. 为nodejs创建软链接,让系统识别node命令:
    sudo ln -s /usr/bin/nodejs /usr/bin/node
    
  3. 现在再验证Node.js版本:
    node --version
    
    此时应该能正常显示Node.js的版本号了。

另外,如果你想升级Node.js到最新稳定版本,推荐使用官方维护的NodeSource仓库,操作步骤如下:

  1. 先添加NodeSource的GPG密钥:
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
    
  2. 添加对应版本的仓库(以Node.js 20.x为例,你可以根据需求替换为其他主版本号):
    NODE_MAJOR=20
    echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
    
  3. 更新软件源并安装/升级Node.js:
    sudo apt-get update
    sudo apt-get install nodejs
    

补充:你提到的npm安装问题的截图显示相关报错,解决完上述核心问题后,npm的使用应该也会恢复正常——因为npm通常会随Node.js安装包一起自动部署。

内容的提问来源于stack exchange,提问作者beingmanish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:32:31