- 高级撰稿人
- 作者
本指南将向您展示如何在Ubuntu 22.04系统上使用NVM(Node版本管理器)安装Node。作为管理多个Node.js版本的强大工具,NVM能让您轻松切换不同版本,保持开发环境的灵活性。安装完成后,您的服务器即可轻松构建和部署Node.js应用程序。
Node.js是基于Chrome V8引擎构建的开源JavaScript运行环境。它专为创建快速可扩展的网络应用而设计,尤其擅长处理高吞吐量的海量并发连接。其核心优势在于非阻塞、事件驱动的架构,能高效处理实时数据处理等任务。Node.js 具备跨平台特性,可在 Windows、Mac OS X 和 Linux 系统上运行,为不同环境的开发者提供灵活支持。其内存高效的设计使其特别适用于需要高性能的大型应用程序。
Node.js赋能开发者在服务器端运行JavaScript,用JavaScript取代PHP或Ruby等传统后端技术。这种转变通过统一前端与后端开发语言简化了开发流程。然而,管理多个Node.js版本可能成为难题。不同项目常需不同Node.js版本,若无合适工具,版本切换将变得繁琐。为简化操作,您可在Ubuntu系统通过NVM安装Node.js,从而轻松管理多版本环境。这确保您能在Ubuntu上安装Node并无冲突地切换版本,显著优化开发流程。
此时NVM(Node版本管理器)便派上用场。作为Bash脚本,NVM能在单一系统上管理多个Node.js版本,提供以下核心优势:
NVM能轻松避免版本冲突,助您高效处理对Node.js版本要求各异的项目。
在Ubuntu 22.04上安装Node.js前,请确保满足以下条件:
您应准备好可用的Ubuntu 22.04服务器。本指南假设您正在使用全新安装的云服务器。
需配置具备sudo权限的非root用户。安装NVM时请避免使用root权限,因其设计初衷是实现用户级别的Node.js版本管理。
满足上述条件后,您即可在Ubuntu系统上安装Node并轻松开始应用开发。
若需在Ubuntu系统安装Node,使用NVM(Node版本管理器)可灵活管理多版本Node.js。本指南将详细指导您在Ubuntu 22.04上通过NVM安装Node.js,确保您能无冲突地管理不同版本的Node.js。
安装NVM前需先安装若干依赖项,包括curl、wget和gnupg等核心工具,这些工具用于下载和管理软件包。使用以下命令安装这些依赖项:
sudo apt update
sudo apt install curl wget gnupg
虽然系统可能已存在这些依赖项,但更新它们是避免兼容性问题的良好实践。
现在所需依赖项已就绪,我们可以继续安装 NVM。
安装 NVM 需从其 GitHub 仓库获取官方安装脚本。请以普通用户身份执行以下命令(避免使用 sudo):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
该命令执行以下关键操作:
脚本执行完毕后,您将看到类似以下输出:
=> 将 nvm 源代码添加至 /home/<用户名>/.bashrc
=> 将 bash_completion 源代码添加至 /home/<用户名>/.bashrc
要立即使用 NVM,请在终端会话中执行输出中提供的两个 export 命令:
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}“ ] && printf %s ”${HOME}/.nvm“ || printf %s ”${XDG_CONFIG_HOME}/nvm“)”
[ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh” # 此命令加载 nvm
或关闭并重新打开终端以自动加载 NVM。
通过检查 NVM 版本验证安装:
nvm --version
应显示类似 0.39.3 的版本号,表明 NVM 已成功安装。
NVM配置完成后,即可在Ubuntu上安装Node.js。Node.js是众多Web开发项目的基础,而NVM能轻松管理其版本。
本指南将安装Node.js 18版(当前最新稳定版本)。执行以下命令安装:
nvm install node
该命令将:
安装完成后将显示如下输出:
正在下载并安装node v18.13.0...
当前使用node v18.13.0 (npm v8.19.2)
要确认已安装的Node.js版本,请运行以下命令:
node -v
这将显示已安装的Node.js版本(如v18.13.0),验证NVM是否正确安装了Node.js。
要查看 NVM 安装的所有 Node.js 版本,请使用以下命令:
nvm ls
您将看到类似以下内容:
-> v18.13.0
system
default -> node (-> v18.13.0)
此输出显示已安装的版本,其中 -> 符号表示当前活动版本(此处为 Node.js v18.13.0)。
可轻松安装其他 Node.js 版本。例如安装最新 LTS(长期支持)版本:
nvm install --lts
此命令将安装 Node.js 最新 LTS 版本。
查看所有已安装的 Node.js 版本,请运行:
nvm ls
此时将同时显示 Node.js v18 和 v16(或您已安装的其他版本)。
NVM 最突出的功能之一是能轻松管理多个 Node.js 版本。以下是使用 NVM 在不同版本间切换的方法。
查看所有可安装的 Node.js 版本,请使用:
nvm ls-remote
这将显示可安装的版本列表,包括最新版本和 LTS 版本:
v18.13.0 (最新 LTS: Hydrogen)
v16.19.0 (LTS: Gallium)
v14.21.2 (LTS: Fermium)
通过指定版本号可安装特定Node.js版本。例如安装Node v12.22.12:
nvm install 12.22.12
同理,安装旧版LTS版本请使用:
nvm install --lts=erbium
运行以下命令可查看本地所有已安装的Node.js版本:
nvm ls
将显示所有已安装版本:
-> v12.22.12
v14.21.2 (LTS: Fermium)
v16.19.0 (LTS: Gallium)
v18.13.0
可为 Node.js 设置默认版本,该版本将在新终端会话中使用。若要将 Node v14.21.2 设为默认版本,请使用:
nvm alias default 14.21.2
验证默认版本请使用:
nvm run default --version
若项目需使用特定 Node.js 版本,可通过 nvm use 命令切换:
nvm use 16
此命令将使当前终端会话使用 Node.js v16.19.0。检查当前活动版本:
node -v
应显示:
v16.19.0
无需全局切换,也可在特定版本下执行Node.js命令。例如:
nvm run 16 --version
这将在Node v16环境下运行node --version命令。
您还可使用特定Node版本安装包:
nvm exec 12.22.12 npm install -g http-server
此命令将使用Node v12.22.12安装http-server包。
通过上述步骤,您可在Ubuntu上成功安装Node.js,在不同版本间切换,并使用NVM管理开发环境。
使用 NVM(Node 版本管理器)管理 Node.js 版本是处理 Ubuntu 上多 Node 安装的简便高效方式。但有时您可能需要卸载旧版本以保持系统整洁。本指南将引导您完成 Node.js 版本卸载流程,回顾常用 NVM 命令,并补充生产环境中使用 NVM 的最佳实践。
使用 NVM 卸载 Node.js 版本非常简单。要卸载特定版本,请使用 nvm uninstall 命令。例如,要卸载 Node v12.22.12,请运行:
nvm uninstall 12.22.12
卸载完成后,可通过 nvm ls 命令验证当前活跃版本。该命令将列出剩余版本:
nvm ls
若已卸载 Node v12,此时应仅剩 Node v16 和 v18 版本。
需特别注意:NVM 不允许卸载当前活动或设为默认的版本。若需卸载正在使用的版本,必须先切换至其他版本。可通过 nvm use 命令实现:
nvm use 16
此时即可安全卸载原先使用的版本。
NVM 简化了系统中 Node.js 多版本管理。以下是常用 NVM 命令的快速指南:
nvm ls — 列出所有已安装的 Node.js 版本
nvm ls-remote — 列出所有可用 Node.js 版本
nvm install 8.19.2 — 安装特定版本的Node.js
nvm uninstall 8.19.2 — 卸载特定版本的Node.js
nvm alias default 8.19.2 — 设置全局默认Node.js版本
nvm use 8.19.2 — 将当前shell切换至特定Node.js版本
nvm run 6 --version — 在特定 Node.js 版本下运行命令。
以上仅列举部分常用核心命令。详细用法请参阅 GitHub 上的 NVM 文档。
虽然 NVM 和 Node.js 的配置过程相对简便,但在生产环境中使用 NVM 仍需注意以下要点。本文将解答若干常见问题,助您做出明智决策。
NVM 在开发环境中广泛应用,可轻松实现跨版本测试 Node.js 应用。但您可能疑惑是否也适用于生产环境。
NVM 支持便捷安装 Node.js 并切换版本,且不会引发系统冲突。这种灵活性在升级至Node.js新LTS(长期支持)版本时尤为重要。
但需注意生产环境使用NVM的潜在挑战:
安装的Node版本越多,系统所需资源就越多。每个版本都会占用磁盘空间和内存,若在生产服务器上运行大量应用程序,可能影响性能。
版本增多意味着维护负担加重。您需要追踪管理活跃版本,并确保旧版本不会干扰新版本运行。
在生产环境中,建议限制安装的Node.js版本数量:
尽管NVM提升了灵活性,但在生产环境中使用需谨慎考量,避免引入不必要的复杂性。
Ubuntu等Linux发行版通常通过包管理器提供Node.js。可直接使用apt安装:
sudo apt install nodejs
但系统包存在以下限制:
每次仅能安装单一版本。若需同时安装测试多个版本,此限制将造成困扰。
多数系统包更新频率低于Node.js正式发布。例如Debian或Ubuntu包管理器可能提供旧版Node.js,需手动安装最新版本。
当升级系统Node.js时,任何全局安装的npm包都可能失效,增加额外维护工作。
相比之下,NVM允许并行安装不同版本的Node.js且不会产生冲突。它将每个Node.js版本及其关联的npm包隔离管理,便于为不同版本配置独立依赖项。
因此,虽然可使用系统包管理器安装 Node.js,但 NVM 提供更高灵活性并降低包冲突风险。必要时可同时使用 NVM 和系统包,尤其适用于依赖系统版 Node.js 的旧版应用。
使用 NVM 时,它会为每个 Node.js 版本单独安装 npm 包。这确保了不同版本的 Node.js 使用的 npm 包互不干扰。例如,Node.js v14 包含 npm v6,而 Node v16 包含 npm v8。这种隔离机制确保每个 Node.js 版本都有独立的依赖项集。
若通过 NVM 全局安装 npm 包,这些包仅作用于当前 Node.js 版本。例如在 Node v14 下安装的全局包,切换至 Node v16 后将不可用。此机制可避免全局 npm 包的版本冲突。
需牢记以下要点:
NVM 的版本隔离能力有助于避免系统冲突,确保每个 Node.js 版本都能拥有独立的 npm 环境。
若需清理系统并卸载Node.js或NVM,本指南将引导您完成必要步骤。无论通过NVM还是包管理器安装Node.js,均可按以下步骤轻松卸载。
若不再需要通过NVM安装的特定Node.js版本,可使用以下命令卸载:
nvm uninstall 12.22.12
这将彻底清除系统中的该版本Node.js。随后可通过以下命令检查剩余安装版本:
nvm ls
该命令将显示系统中仍处于活动状态的版本,确保目标版本已成功移除。
要移除NVM及其所有关联文件,请执行以下步骤:
卸载Node.js版本:首先卸载通过NVM安装的所有Node.js版本。运行以下命令移除最新LTS版本和默认Node版本:
nvm uninstall --lts
nvm uninstall node
删除NVM目录:接着运行此命令移除整个NVM目录:
rm -rf ~/.nvm
编辑 shell 配置文件:NVM 会在 shell 配置文件(如 ~/.bash_profile 或 ~/.zshrc)中添加配置行。需手动移除这些使 NVM 运行的配置行,包括类似以下内容:
source ~/.nvm/nvm.sh
重启终端:最后,重启终端或运行 source ~/.bashrc(或您 shell 的对应配置文件)以应用更改。
完成上述步骤后,NVM将彻底从系统中移除。若尝试执行NVM命令,将显示“命令未找到”错误,表明系统已彻底清理。
若通过系统包管理器安装Node.js,可使用以下Linux发行版专用命令卸载:
Debian/Ubuntu
对于基于Debian的系统(如Ubuntu),执行:
sudo apt purge nodejs npm
RHEL/CentOS
对于RHEL或CentOS,使用:
sudo dnf erase nodejs npm
这些命令将移除操作系统包管理器提供的Node.js和npm包。但请注意,这不会影响NVM安装的Node.js版本,因其完全独立。
至此,我们已完整演示了在 Ubuntu 22.04 上使用 NVM 安装和卸载 Node.js 的流程。本指南的核心要点如下:
借助 NVM,您能高效管理 Node.js 版本,简化 JavaScript 后端与 API 的开发流程。无论构建个人应用还是管理生产环境,NVM 都能提供灵活的版本控制方案,确保始终使用正确版本。
Start for free and unlock high-performance infrastructure with instant setup.
您的意见有助于我们提供更好的服务。