1. 环境准备:装之前先看清这几件事
Ubuntu 24.04 是 Canonical 在 2024 年发布的 LTS 长期支持版本,内核 6.8,默认源里的 Node.js 版本比较保守。如果直接 apt install nodejs,装出来大概率是 18.x 甚至更老的版本,这在 2026 年做前端开发或者跑一些新框架时会出现兼容性问题。所以安装 Node.js 之前,先想清楚三件事:你要装哪个版本、用什么方式管理版本、后续升级和卸载是否方便。
先说结论:个人开发机推荐使用 nvm(Node Version Manager)方式安装,理由是它可以随时切换 Node 版本,适配不同项目的 .nvmrc 文件要求,而且在测试新版本时不用污染系统环境。服务器或者生产环境则推荐使用 NodeSource 官方源或者二进制包直接安装,少一层中间管理工具,环境更干净,也更容易被运维脚本覆盖。如果你只是临时跑个脚本、做个课程作业,那么直接 apt install nodejs npm 也能应付,只要你能接受版本偏旧这个事实。
在开始之前,建议先检查系统是否已有 Node.js 残留。执行 node -v 和 npm -v,如果提示 command not found,说明干净;如果有输出,检查一下版本和安装来源。已有的残留版本会影响新装环境的 PATH 优先级,后续操作时容易混淆“为什么我装完了还是旧版本”。如果之前是用 apt 装的,先执行 sudo apt remove nodejs npm -y 清理干净,建议连 /usr/local/lib/node_modules、~/.npm 这些目录也查一遍,避免旧包干扰。
提示:如果是全新安装的 Ubuntu 24.04,建议先执行
sudo apt update && sudo apt upgrade -y把系统基础库更新到最新,尤其是 build-essential、python3、make 这类编译工具链,后面源码编译 Node.js 时直接用得上。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装方式对比:apt、nvm、源码到底选哪个
在 Ubuntu 24.04 上安装 Node.js,网上的教程能搜出一大堆,但归纳起来无非四条路:系统源安装、NodeSource 源安装、nvm 安装、源码编译安装。每条路的适用场景和坑点都不一样,我逐个拆开讲。
2.1 apt 直接安装:最省事但版本老
Ubuntu 24.04 的官方软件源中,Node.js 版本停留在 18.x 系列(具体小版本随仓库更新而变化)。执行 sudo apt install nodejs npm,装完直接可用,npm 也会一并装上。但这种方式的限制很明显:第一,你无法选择版本,源里是什么就是什么;第二,18.x 版本在 2026 年已经进入维护末期,如果用 Vitest 3、Webpack 5.9x 以上或者部分依赖 Node 20 API 的库,直接会报错;第三,apt upgrade 时如果源更新了 Node 版本,可能出现大版本跳变,导致项目依赖出问题。
如果你确定要装老版本,或者只是给某些老旧项目维护环境,apt 也够用。注意装完后 npm 可能需要单独执行 sudo apt install npm 才能获得,因为 Ubuntu 把 nodejs 和 npm 拆成了两个包。另外,apt 装的 Node.js 目录结构遵循 Debian 规范,可执行文件在 /usr/bin/node,全局包在 /usr/lib/node_modules 下,和 NodeSource 或 nvm 的安装路径不同。这种差异会影响后续某些工具链查找 Node 模块的逻辑,遇到奇奇怪怪的问题时先意识到这一点。
2.2 NodeSource 源安装:服务器环境的首选
NodeSource 是一个第三方维护的 Node.js apt 仓库,提供从 18.x 到当前最新版本的完整支持。它安装的 Node.js 是官方编译好的二进制,版本精准可控,更新策略独立于系统的 apt 源。我一般会在需要固定 Node 版本的服务器上用这种方案,配合 apt-mark hold nodejs 锁定版本,防止意外升级。
安装流程很简单:
bash复制curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
把 setup_20.x 换成你需要的版本号即可(目前也可用 22.x)。这段命令会动态添加 NodeSource 仓库到 /etc/apt/sources.list.d/,同时导入 GPG 密钥。需要注意,NodeSource 在 2025 年调整过仓库地址和密钥轮换策略,旧教程里的 nodesource.com/dist 老路径已失效,务必按官网最新命令操作。执行完后 node -v 应该打印出对应的版本号,npm 也会一并装好。
NodeSource 方式有一个问题:如果你在某个特定网络环境下,curl 拉取脚本可能超时或被拦截,这时候可以手动添加仓库而不是执行脚本。具体做法是:
bash复制curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
VERSION=node_20.x
echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/$VERSION noble main" | sudo tee /etc/apt/sources.list.d/nodesou
