在 Ubuntu(或任何 Linux 发行版)上安装 Node.js 是 JavaScript 开发者的关键步骤。虽然可以直接从官网下载,但使用版本管理器能更好地控制开发环境。本指南将介绍如何使用两种流行的版本管理器——fnm 和 nvm——在 Ubuntu 上安装 Node.js。
Node.js 版本管理器简介
Node.js 版本管理器简化了不同 Node.js 版本的安装和切换。它们在以下场景中非常有用:
虽然在生产环境中版本管理器看似非必需,但它们能安全便捷地升级 Node.js,而不会中断运行中的应用。
我们将探讨两个官方推荐的选项:fnm(快速 Node.js 管理器)和 nvm(Node.js 版本管理器)。
使用 fnm 安装 Node.js
快速 Node.js 管理器1 (fnm) 是 nvm2 和 n3 的现代替代品,用 Rust 编写。它跨平台,速度极快,因为它被编译成本机代码。安装 Node.js 之前需先安装 fnm。
使用以下命令安装 fnm:
curl -fssl https://fnm.vercel.app/install | bash
如果使用 Homebrew,则可以使用 brew install fnm
命令。
安装 fnm 后,使用以下命令安装 Node.js:
fnm install --lts
此命令安装最新 LTS 版本的 Node.js。也可以用版本号替换 --lts
来安装特定版本,例如 fnm install 23
安装 Node.js 23 版本。
运行 node -v
验证 Node.js 是否已安装并运行。
fnm Shell 自动补全和配置
fnm 提供二进制文件的自动补全功能。运行以下命令启用,然后按提示操作:
fnm completions --shell <shell>
(将 <shell>
替换为你的 Shell 名称,例如 bash、zsh、fish)。
fnm 具有许多开箱即用的功能,部分功能默认不启用,因为它们会更改 Shell 对 fnm 的默认行为。可以通过在初始化 Shell 时向 fnm env 调用添加标志来配置它们。
例如:
eval "$(fnm env --use-on-cd)"
--use-on-cd
标志会将输出添加到 fnm env 的输出,该输出会在更改目录时挂接到你的 Shell,并基于 .node-version
或 .nvmrc
文件(或 packages.json#engines#node
,如果 --resolve-engines
已启用)切换 Node.js 版本。
使用 fnm 更新 Node.js 版本
保持 Node.js 更新至关重要。如果发布了新的 LTS 版本,可以使用 fnm install --lts
更新 Node.js 版本,并使用 fnm use
切换到新版本。快捷方式是 fnm use --install-if-missing [版本]
。
可以使用 fnm list-remote
获取最新版本号。
使用 nvm 安装 Node.js
Node 版本管理器2 (nvm) 允许通过命令行快速安装和使用不同版本的 Node,多年来一直很流行。它用 Shell 脚本编写,作为 POSIX 兼容函数,速度也很快。
与 fnm 一样,nvm 也是跨平台的,必须在安装 Node.js 之前安装它。使用以下命令安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
或使用 wget:
wget -qo- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
然后使用以下命令安装 Node.js LTS 版本:
nvm install --lts
运行 node -v
验证 Node.js 是否已安装并运行。
使用 nvm 更新 Node.js 版本
使用 nvm 更新 Node.js:
nvm install --lts
nvm use --lts
这将安装并切换到最新的 Node.js LTS 版本。可以用版本号替换 --lts
指定特定版本,例如 nvm install 23
安装 Node.js 23 版本。
要获取最新的 LTS 版本的 Node 并迁移现有已安装的包,请使用以下命令:
nvm install --reinstall-packages-from=current 'lts/*'
添加 --latest-npm
标志同时更新 npm:
nvm install --reinstall-packages-from=current --latest-npm 'lts/*'
最佳实践和技巧
在项目的 package.json
文件中指定 Node.js 版本或使用 .nvmrc
文件,确保团队成员使用相同的版本。fnm 和 nvm 都支持这些文件。
如果将 Shell 配置为对 fnm 使用 --use-on-cd
4,当 cd
到包含 .node-version
或 .nvmrc
文件的目录时,它会自动切换 Node.js 版本。对于 nvm,必须使用 nvm use
命令切换 Node.js 版本。
结论和后续步骤
你已成功使用 fnm 或 nvm 在 Linux 系统上安装 Node.js。这两种工具都提供强大的版本管理功能,其中 fnm 性能更好,nvm 拥有更广泛的社区支持。
记住:
.nvmrc
或 .node-version
文件。需要删除 Node.js 或切换版本管理器?请关注我们即将发布的关于从 Ubuntu 系统正确卸载 Node.js 的指南。
脚注