Linux(Ubuntu/CentOS)服务器安装Node.js的详细步骤

作者:接口漫谈

时间:2026-11-12

浏览:594

本文详细介绍在Ubuntu与CentOS Linux服务器上安装Node.js的完整步骤,涵盖官方NodeSource源安装、NVM多版本管理以及环境验证与全局配置。

文章目录

在 Linux 云服务器或物理机上部署后端服务与前端构建管道时,安装最新长期支持版(LTS)的 Node.js 是最基础的环境准备环节。多数 Linux 发行版自带的官方软件仓库维护周期较长,直接通过系统默认源安装往往只能获得较旧的版本(例如 Ubuntu 20.04 默认源中的 Node.js 10.x 或 CentOS 7 默认源中的 Node.js 16.x),无法满足现代框架与依赖库的运行标准。本文将分别针对 Debian/Ubuntu 系统与 RHEL/CentOS/Rocky Linux 系统,提供通过 NodeSource 官方二进制源 以及 NVM(Node Version Manager)多版本管理器 的完整安装与配置流程,并说明关键依赖与权限隔离措施。

Linux(Ubuntu/CentOS)服务器安装Node.js的详细步骤
图 1:Linux (Ubuntu / CentOS) 服务器上的 Node.js 与包管理部署全景

安装前的准备与环境决策

在连接到服务器后,首先需要判断服务器的系统架构与当前运行环境,并根据业务场景选择最适宜的安装路径:

  • NodeSource 官方源安装(推荐用于生产环境):将预编译的稳定二进制包以系统级服务的方式安装在 /usr/bin/node,具有系统级全局可用性,便于与 Systemd、PM2 或各类容器构建脚本直接集成,升级维护方便。
  • NVM 安装(推荐用于测试与多项目服务器):安装在当前普通用户的用户主目录(~/.nvm)下,完全无需 root 或 sudo 提权,可在多个不同的 Node.js 版本(如 v18、v20、v22)之间无缝秒级切换,且天然避免 npm 全局安装时的文件所有权冲突。
Linux(Ubuntu/CentOS)服务器安装Node.js的详细步骤
图 2:Linux 服务器 Node.js 安装路径与技术方案决策树

执行以下命令确认操作系统的基本内核与架构:

uname -m && cat /etc/os-release

示例输出:架构回显为 x86_64 或 aarch64,ID 字段显示为 ubuntu、centos、rhel 或 rocky。

Ubuntu / Debian 系统安装步骤 (NodeSource 方式)

该方法适用于 Ubuntu 20.04 LTS、22.04 LTS、24.04 LTS 以及 Debian 11/12。NodeSource 维护了官方同步的 Debian 软件包仓库,包含完整的 LTS 运行时与 npm 工具。

Linux(Ubuntu/CentOS)服务器安装Node.js的详细步骤
图 3:Ubuntu / Debian 环境下 NodeSource 源签名导入与安装流程

步骤 1:更新本地 APT 缓存并安装基础通信工具

在终端中执行系统源索引更新,并安装 HTTPS 传输、CA 证书与 GPG 密钥工具:

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

步骤 2:导入 NodeSource GPG 密钥与仓库清单

以当前主流的 Node.js 20.x LTS(长期稳定支持版)为例,运行官方自动化脚本注入仓库密钥与源配置:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

该脚本会自动完成三项关键操作:自动识别 Ubuntu 发行版本代号(如 focal、jammy、noble)、导入 NodeSource 官方 GPG 验证公钥至系统信任环中,并在 /etc/apt/sources.list.d/nodesource.list 生成对应的 APT 源列表。

步骤 3:安装 Node.js 与 npm

执行标准安装命令。在 NodeSource 维护的包中,nodejs 包已直接内嵌捆绑了对应版本的 npm:

sudo apt-get install -y nodejs

步骤 4:安装原生构建依赖(build-essential)

部分 npm 模块(如加密算法库、图片处理模块 sharp 等)在安装时需要编译底层 C/C++ 扩展。在 Ubuntu 上缺少编译器将导致安装中断,建议预先安装基础构建链:

sudo apt-get install -y build-essential

CentOS / RHEL / Rocky Linux 系统安装步骤 (NodeSource 方式)

对于 RedHat 系列发行版,操作流程通过 YUM(CentOS 7)或 DNF(CentOS 8/9、Rocky Linux、AlmaLinux)进行管理。

Linux(Ubuntu/CentOS)服务器安装Node.js的详细步骤
图 4:CentOS / RHEL 系统基于 RPM 仓库的 Node.js 安装流水线与依赖解析

步骤 1:下载并配置 NodeSource RPM 软件源

执行自动化脚本,将 NodeSource 官方 RPM 仓库写入系统的 /etc/yum.repos.d/nodesource-el.repo 中:

curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -

步骤 2:通过包管理器执行安装

对于 CentOS 7 服务器,使用 yum 执行安装:

sudo yum install -y nodejs

对于 CentOS 8、CentOS Stream、RHEL 8/9 或 Rocky Linux 8/9,建议优先使用现代包管理器 dnf:

sudo dnf install -y nodejs

步骤 3:安装开发构建套件

安装 RPM 生态下的编译器组群,确保后续 node-gyp 本地编译无障碍执行:

sudo yum groupinstall -y "Development Tools"
排错提醒(CentOS 7 的 GLIBC 兼容性问题):
Node.js 18.x 及更新版本(包括 20.x、22.x)在编译构建时依赖 GLIBC 2.28 或更高版本。而 CentOS 7 官方内核默认附带的 GLIBC 为 2.17。如果在 CentOS 7 上强制安装 Node.js 18+,在执行 node -v 时会提示 node: /lib64/libc.so.6: version 'GLIBC_2.28' not found。若您的服务器运行在 CentOS 7 且不可更换系统,生产环境请选用 Node.js 16.x LTS,或者建议升级操作系统至 Rocky Linux 8/9。

基于 NVM 安装与多版本灵活管理

如果一台服务器上部署了多个微服务,各自要求不同的大版本 Node.js;或者你没有服务器的 root 权限,使用 NVM(Node Version Manager)是最佳解决方案。

Linux(Ubuntu/CentOS)服务器安装Node.js的详细步骤
图 5:NVM 多版本隔离机制、目录结构与会话环境变量动态切换原理

步骤 1:下载并安装 NVM 脚本

使用 curl 下载 NVM 安装脚本(可根据实际需要指定最新发布 tag):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

步骤 2:加载环境变量配置

安装脚本会将引导逻辑写入当前用户的 ~/.bashrc(或 ~/.zshrc)。执行以下命令使配置立即在当前会话生效:

source ~/.bashrc

验证 nvm 是否可用:

command -v nvm

示例输出:终端返回 "nvm",表明函数加载成功。

步骤 3:安装目标 Node.js 版本与切换

通过 NVM 可以轻松安装并指定默认版本:

# 查看所有可用的 LTS 版本
nvm ls-remote --lts

# 安装最新的 20.x LTS 版本
nvm install 20

# 设置默认别名
nvm alias default 20

# 切换并使用指定版本
nvm use 20

安装结果验证与生产环境规范配置

无论是通过 NodeSource 还是 NVM 安装,完成之后都需要对可执行程序路径、版本号及全局模块目录进行核查。

Linux(Ubuntu/CentOS)服务器安装Node.js的详细步骤
图 6:安装结果验证终端回显与 npm 全局权限隔离治理规范

1. 验证版本与可执行文件路径

依次执行以下命令,检查版本号与二进制解析定位:

node -v
npm -v
which node

示例输出:
v20.18.0
10.8.2
/usr/bin/node (若使用 NVM 则为 /home/username/.nvm/versions/node/v20.18.0/bin/node)

2. 规范 npm 全局包安装路径(规避 sudo npm 风险)

在通过 NodeSource 安装的系统全局模式下,执行 npm install -g <package> 默认会试图写入 /usr/lib/node_modules,若直接用 sudo npm 安装,可能导致文件属主变为 root、引发安全隐患或脚本权限报错。业界通行的做法是在用户目录下设立专属的全局包前缀:

# 1. 创建本地专属全局目录
mkdir -p ~/.npm-global

# 2. 设置 npm 前缀
npm config set prefix '~/.npm-global'

# 3. 将新路径写入环境变量
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 4. 测试全局安装进程管理工具 PM2
npm install -g pm2
pm2 --version

3. 配置国内镜像源加速下载(可选)

在中国大陆区域的云服务器上,直接访问默认的 npmjs.org 官方镜像源可能出现延迟过高或网络超时。可以按需配置国内镜像源以提升依赖安装效率:

# 查看当前镜像源
npm config get registry

# 切换为国内镜像源
npm config set registry https://registry.npmmirror.com

# 验证源设置
npm config get registry

方案对比与选型参考

对比维度 NodeSource 官方二进制源 NVM (Node Version Manager)
安装位置 /usr/bin/node(系统级全局路径) ~/.nvm/versions/node/(用户家目录)
权限要求 需要 root / sudo 提权执行安装 普通用户即可安装与管理,零 root 依赖
多版本并存 同一时间系统只能保留一个激活版本 支持任意多个大版本、小版本共存并秒级切换
开机自启/守护集成 天然适配 Systemd 服务的标准 ExecStart 路径 Systemd 中需指定具体的绝对路径或加载 nvm 包装脚本
推荐使用场景 生产环境服务器、单一微服务节点、CI/CD 构建节点 开发测试机、混合老旧系统兼容、非 root 运维账户

通过上述步骤,无论你的服务器运行的是 Ubuntu 还是 CentOS/RHEL 系列系统,均可安全、标准且可控地完成 Node.js 运行时的部署与环境调优。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章