1. 介绍:为什么在 Ubuntu 上使用 Node.js?
Ubuntu 与 Node.js 的卓越兼容性
Node.js 是一个在服务器端运行 JavaScript 的平台,广泛用于 Web 应用和工具开发。Ubuntu 则是受到众多开发者和服务器管理员信赖的 Linux 发行版。将二者结合,可构建一个在 稳定性、灵活性和速度 方面表现出色的开发环境。
在 Ubuntu 上安装 Node.js 具有以下优势:
- 轻量级操作系统,开销极小,能够高效利用系统资源
- 从开发到测试再到生产的统一 Linux 环境
- 与 Node.js 高度兼容,并能顺畅集成 npm、nvm 等工具
基于以上原因,Ubuntu 与 Node.js 的组合对前端和后端开发都是极具吸引力的开发环境。
目标读者与本文目的
本文面向以下读者:
- 首次在 Ubuntu 上使用 Node.js 的用户
- 想了解哪种安装方式最合适的用户
- 想使用最新 Node.js 版本但对配置不确定的用户
阅读本文后,您将能够 比较 Ubuntu 上的三种 Node.js 安装方式,并根据自己的目标和技术水平选择最合适的方案。此外,指南还涵盖 npm、yarn 等相关工具以及常见错误的解决方案,帮助您自信地使用 Node.js 环境。
2. Ubuntu 上 Node.js 安装方式概览
三种安装方式,各有特点
在 Ubuntu 上安装 Node.js 主要有三种方式:
- 通过 APT(Advanced Package Tool)安装标准软件包
- 通过 NodeSource PPA(Personal Package Archive)进行安装
- 使用 nvm(Node Version Manager)进行灵活的版本管理
每种方法都有各自的优缺点,最佳选择取决于您的使用场景和系统配置。下表概括了它们的特性。
Node.js 安装方式对比表
| Installation Method | Main Features | Advantages | Disadvantages | Recommended For |
|---|---|---|---|---|
| APT (Default) | Uses Ubuntu’s official repository | Simple and safe | Version may be outdated | Beginners who want to try quickly |
| NodeSource PPA | Manages newer Node.js versions via APT | Relatively up-to-date versions | Requires adding a PPA | Developers who want a stable recent version |
| nvm | Supports switching between multiple versions | Highly flexible and ideal for development | Requires shell configuration | Recommended for learning and development |
为什么对比很重要?
Ubuntu 以稳定性为首要目标,这导致 APT 仓库中的软件版本往往较为保守。因此,想要使用最新 Node.js 功能或需要测试多个版本的用户应考虑除 APT 之外的方案。
另一方面,如果您的目标只是快速尝试 Node.js,或在生产服务器上避免额外配置,APT 方法可能已经足够。
那该如何选择?
综上所述,对于开发者或任何计划长期使用 Node.js 的人来说,推荐通过 nvm 安装。原因包括:
- 轻松在最新和旧版本之间切换
- npm 会自动安装
- 权限问题更少(无需 sudo)
3. 方法 ①:使用 APT(Ubuntu 官方)轻松安装 Node.js
什么是 APT?Ubuntu 的标准软件包管理系统
APT(Advanced Package Tool)是 Ubuntu 以及其他基于 Debian 的 Linux 发行版使用的标准软件包管理系统。使用 APT,您可以通过单条命令轻松安装、更新和卸载软件。
Ubuntu 官方仓库已包含 Node.js 软件包,这意味着 您可以立即安装 Node.js,无需任何特殊准备。
安装步骤
- 更新 APT 软件包列表。
sudo apt update
- 安装 Node.js 和 npm。
sudo apt install nodejs npm
- 验证安装是否成功。
node -v npm -v
如果显示版本信息,则说明安装成功。
优势:简单且安全
- 使用官方 Ubuntu 仓库,可靠性极高
- 命令简洁,适合初学者
- 通过 APT 与系统更新集成
.### 缺点:版本可能已过时
因为 APT 优先考虑稳定性,可用的 Node.js 版本可能落后好几代。
例如,在 Ubuntu 22.04 上,通过 APT 安装的 Node.js 版本可能是 12 或 14,这意味着 最新的功能和安全改进可能未被包含。
如果你需要在不同项目中使用多个 Node.js 版本,这种方法也不适用。
适合此方法的对象
- 想要立即尝试 Node.js 的初学者
- 稳定版本足以满足需求的生产环境
- 不需要多个 Node.js 版本的用户
4. 方法②:使用 NodeSource PPA 安装最新版本
什么是 NodeSource?
NodeSource 是一家可信赖的供应商,能够快速提供稳定且最新的 Node.js 版本,且独立于官方 Node.js 团队。它特别适用于希望 在继续使用 APT 的同时安装更新的 Node.js 版本 的 Ubuntu 和 Debian 用户。
此方法在官方 Node.js 网站上有推荐,并且在企业环境中被广泛使用。
安装步骤(示例:Node.js 18.x)
- 更新软件包列表。
sudo apt update
- 若系统未安装 curl,则先安装。
sudo apt install curl
- 运行 NodeSource 设置脚本。
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- 安装 Node.js。
sudo apt install -y nodejs
- 验证安装是否成功。
node -v npm -v
优点:使用 APT 安装最新版本
- 轻松安装最新的稳定版 Node.js
- 仍然使用熟悉的 APT 管理方式
- npm 会自动安装
缺点:需要添加 PPA
- 相比标准 APT 安装步骤略多
- 需要评估来源的可信度(NodeSource 通常是安全的)
适合此方法的对象
- 需要稳定且最新 Node.js 版本的开发者
- 觉得 Ubuntu 官方仓库的版本不足但不想使用 nvm 的用户
- 想保持集中式 APT 包管理的用户
5. 方法③:使用 nvm 实现灵活的版本管理(推荐)
什么是 nvm?管理 Node.js 版本的强大工具
nvm(Node Version Manager) 是一个命令行工具,允许你管理和切换多个 Node.js 版本。它对需要为不同项目使用不同版本或想同时测试最新和 LTS 版本的开发者尤为有用。
使用 nvm,你可以在 仅限用户账户的环境中构建灵活的开发环境,无需在系统范围内安装 Node.js。

安装 nvm
- 使用 curl 运行安装脚本。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
- 重新加载你的 shell 配置文件。
source ~/.bashrc
或者,如果你使用的是 Zsh:
source ~/.zshrc
- 验证 nvm 是否已安装。
command -v nvm
如果显示 nvm,则说明安装成功。
使用 nvm 安装 Node.js
- 安装 LTS 版本:
nvm install --lts
- 安装指定版本:
nvm install 18
- 切换到活动版本:
nvm use 18
- 设置默认版本:
nvm alias default 18
- 检查已安装的版本:
node -v npm -v
优点:最大灵活性与可控性
- 多个版本可以共存并即时切换
- npm 会自动安装
- 不需要 sudo,降低权限问题
- 不会修改系统环境,特别适合开发使用
缺点:初始设置需要注意
- 如果 shell 配置文件未正确加载,nvm 将无法工作
- 仅对单个用户安装,非系统范围
适合此方法的对象
.
- 需要在不同 Node.js 版本之间切换的开发者
- 管理多个项目且需求各不相同的用户
- 想要避免权限相关问题的初学者
6. 使用 npm 和 yarn
什么是 npm?
npm(Node Package Manager) 是管理 Node.js 包的必备工具。它可以让你轻松安装和管理全球开发者发布的库和工具。
当通过 APT、NodeSource 或 nvm 安装 Node.js 时,npm 通常会自动随之安装。
检查版本:
npm -v
基本 npm 命令
| Action | Command Example |
|---|---|
| Install a package | npm install <package-name> |
| Install globally | npm install -g <package-name> |
| Uninstall a package | npm uninstall <package-name> |
| Initialize a project | npm init or npm init -y |
| List packages | npm list or npm list -g |
什么是 yarn?
yarn 是 Facebook 开发的 npm 替代方案,旨在实现 更快且更可靠的包管理。它的命令大体上与 npm 兼容。
通过 npm 安装 yarn
npm install -g yarn
验证安装:
yarn -v
基本 yarn 命令
| Action | Command Example |
|---|---|
| Install a package | yarn add <package-name> |
| Global install | yarn global add <package-name> |
| Uninstall a package | yarn remove <package-name> |
| Initialize a project | yarn init |
| List packages | yarn list or yarn global list |
npm vs yarn:该选哪个?
| Comparison | npm | yarn |
|---|---|---|
| Standard | Included with Node.js | Requires installation |
| Speed | Standard | Faster with caching |
| Lock file | package-lock.json | yarn.lock |
| Compatibility | – | Mostly compatible |
现代 npm(v7 及以后)已经有了显著提升,因此 两者通常都可以。最好遵循你的项目或团队已经在使用的工具。
7. 常见错误与故障排除
常见问题及解决方案
■ node: command not found
原因:
Node.js 未正确安装,或 PATH 未设置。此情况常在安装 nvm 后未重新加载 shell 配置时出现。
解决方案:
- 重新加载 shell 配置文件:
source ~/.bashrc
- 若问题仍在,注销后重新登录或重启机器
■ E: Unable to locate package nodejs
原因:
APT 包列表过期或未添加正确的 PPA。
解决方案:
- 更新 APT 列表:
sudo apt update
- 若使用 NodeSource,重新运行安装脚本
■ npm ERR! permission denied
原因:
全局安装 npm 包时权限不足。
解决方案:
- 使用 sudo(但并非总是推荐):
sudo npm install -g <package-name>
- 使用 nvm 是避免权限问题的最佳实践
■ nvm: command not found
原因:
nvm 已安装,但 shell 配置未加载。
解决方案:
- 确保在 shell 配置文件中已 source nvm
- 手动加载:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
防止问题的最佳实践
- 始终检查 PATH 设置
- 使用 nvm 可避免大多数环境相关的问题
- 注意 Ubuntu 与 Node.js 版本之间的兼容性
8. 常见问答(FAQ)
Q1. 如何查看我的 Node.js 版本?
A. 在终端运行以下命令:
node -v
同时查看 npm 版本:
npm -v
Q2. 如何在 Ubuntu 上使用多个 Node.js 版本?
A. 使用 nvm 是最简单、最安全的方式。安装后,可这样切换版本:
nvm install 16
nvm use 16
Q3. 通过 nvm 安装的 Node.js 未生效,为什么?
A. 大多数情况下是因为 shell 配置文件未被加载。运行:
source ~/.bashrc
或在 Zsh 中使用:
source ~/.zshrc
Q4. npm 与 yarn 有何区别?
A. 两者的核心功能相似,但 yarn 通过缓存实现更快的安装,并通过 yarn.lock 提供显式的依赖锁定。现代 npm 已有显著改进,两者皆可良好使用。
Q5. Node.js、Deno 和 Bun 有何不同?
A. Deno 与 Bun 是为弥补 Node.js 局限而设计的替代运行时。
- Deno:原生 TypeScript 支持、增强安全性、内置标准库
- Bun:更快的执行速度和内置包管理
然而,Node.js 仍然是 最实用的选择,因为其拥有庞大的 npm 生态系统。
9. 结论:为你的需求选择合适的安装方式
.在 Ubuntu 上安装 Node.js 有多种方式,每种方式都有明确的优势和适用场景。本文介绍了三种代表性的方法,并说明了如何选择最合适的方式。
APT(Ubuntu 官方)
- 优点: 最简单且最安全
- 缺点: 版本可能过旧
- 推荐对象: 想要快速入门的初学者
NodeSource PPA
- 优点: 在使用 APT 的同时安装更新的版本
- 缺点: 需要添加 PPA
- 推荐对象: 想要使用稳定近期版本的开发者
nvm(Node 版本管理器)
- 优点: 灵活的版本切换和干净的环境
- 缺点: 设置稍微复杂一些
- 推荐对象: 处理多个项目的开发者
本指南还涵盖了 npm、yarn 以及常见的故障排除技巧。虽然 Node.js 的安装起初可能看起来复杂,但 选择合适的方法即可轻松在 Ubuntu 上构建稳定的开发环境。
如果你计划进一步扩展项目,使用 nvm 作为基础将帮助你在团队开发和 CI/CD 工作流中实现规模化。

