centos7/8系统安装nodejs,用nvm、yum还是源码编译好?

在 CentOS 系统上安装 Node.js 是许多开发者和系统管理员在部署现代 Web 应用、构建 API 或运行 JavaScript 工具链时的首要任务,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,它让 JavaScript 能够脱离浏览器在服务器端执行,由于其高效、事件驱动的非阻塞 I/O 模型,Node.js 在构建高并发、可扩展的网络应用方面表现出色,对于 CentOS 这类以稳定性著称的服务器操作系统,如何选择合适的安装方法并正确配置,是确保开发与生产环境顺畅运行的关键,本文将详细介绍几种在 CentOS 上安装 Node.js 的主流方法,并分析其优劣,以帮助您根据具体需求做出最佳选择。

centos7/8系统安装nodejs,用nvm、yum还是源码编译好?

我们主要探讨三种最具代表性的安装方式:通过官方 NodeSource 仓库安装、利用 CentOS AppStream 软件库安装以及使用 NVM(Node Version Manager)进行版本管理,每种方法都有其独特的适用场景,理解它们的差异至关重要。

使用 NodeSource 仓库安装(推荐方式)

对于那些需要获得较新 Node.js 版本,同时又希望使用系统原生包管理器(如 dnfyum)来方便地进行安装、更新和卸载的用户来说,NodeSource 提供的软件源是理想的选择,NodeSource 是一家致力于提供高质量 Node.js 二进制分发服务的公司,其仓库中通常包含最新稳定版以及多个长期支持(LTS)版本。

安装步骤如下:

  1. 添加 NodeSource 仓库: 您需要从 NodeSource 官方 GitHub 仓库获取并执行对应版本的安装脚本,要安装 Node.js 20.x LTS 版本,可以运行以下命令:

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

    这个脚本会自动配置您的系统,将 NodeSource 的仓库地址添加到 dnfyum 的源列表中。

  2. 安装 Node.js: 仓库添加成功后,使用系统包管理器即可轻松安装。

    sudo dnf install -y nodejs

    (在较旧的 CentOS 7 系统中,可能需要使用 sudo yum install -y nodejs。)

  3. 验证安装: 安装完成后,通过检查版本来确认 Node.js 和其附带的 npm(Node Package Manager)是否已正确安装。

    node -v
    npm -v

    如果输出显示了对应的版本号,则说明安装成功。

此方法的优点是能够便捷地管理 Node.js 的生命周期,并且版本相对较新,非常适合生产环境使用。

使用 CentOS AppStream 软件库安装(最简单方式)

CentOS 8 及以后的版本引入了 AppStream,这是一个提供各类应用程序和运行时环境的软件仓库,Node.js 也包含在其中,这是最直接的安装方式,但其提供的版本通常不是最新的,主要倾向于稳定和长期维护。

安装步骤如下:

centos7/8系统安装nodejs,用nvm、yum还是源码编译好?

  1. 查看可用版本: 您可以先查看 AppStream 中提供了哪些 Node.js 模块流。

    sudo dnf module list nodejs

    此命令会列出所有可用的 Node.js 版本流,10, 12, 14, 16, 18, 20 等,并默认启用其中一个。

  2. 安装默认或指定版本:

    • 安装默认流版本: 直接运行安装命令即可。
      sudo dnf install -y nodejs
    • 安装特定流版本: 如果您需要安装列表中的其他版本,18,首先需要重置模块流并安装指定版本。
      sudo dnf module reset nodejs
      sudo dnf module install -y nodejs:18

此方法的优势在于操作极其简单,无需借助外部脚本,但缺点是版本更新滞后,可能无法满足需要新特性或性能优化的项目需求,适用于快速搭建测试环境或对 Node.js 版本没有特殊要求的场景。

使用 NVM 安装(最灵活方式)

对于开发者而言,可能需要同时在不同的项目中使用不同的 Node.js 版本,NVM(Node Version Manager)就是为解决这个问题而生的工具,它允许您在用户级别安装、切换和管理多个 Node.js 版本,且互不干扰。

安装和使用步骤如下:

  1. 安装 NVM: 使用 curlwget 下载并执行官方安装脚本。

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

    或者使用 wget

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  2. 配置环境变量: 安装脚本会尝试自动将 NVM 的配置写入您的 shell 配置文件(如 ~/.bash_profile~/.zshrc),为了让其生效,您需要重新加载配置文件或重启终端。

    source ~/.bashrc
  3. 安装和管理 Node.js 版本:

    • 安装最新 LTS 版本:
      nvm install --lts
    • 安装指定版本:
      nvm install 18.19.0
    • 列出所有已安装版本:
      nvm ls
    • 切换使用版本:
      nvm use 20.10.0
    • 设置默认版本:
      nvm alias default 18.19.0

NVM 是开发环境下的不二之选,它提供了无与伦比的灵活性,但需要注意的是,NVM 安装的 Node.js 仅对当前用户有效,且无法通过系统服务管理工具(如 systemd)直接管理。


为了让您更直观地做出选择,下表小编总结了这三种方法的差异:

centos7/8系统安装nodejs,用nvm、yum还是源码编译好?

方法 优点 缺点 适用场景
NodeSource 版本新,易于系统化管理,支持dnf/yum 需要额外添加第三方仓库 生产环境,追求稳定新版本
AppStream 操作最简单,系统原生支持 版本通常非常陈旧 快速测试,对版本要求不高
NVM 版本管理最灵活,可随时切换 仅对当前用户生效,不适合系统级服务 开发环境,需在多个项目间切换版本

安装后验证与简单示例

无论您采用哪种方法,安装后都可以通过 node -v 命令验证,创建一个简单的 Web 服务器来测试其功能,创建一个名为 app.js 的文件,并写入以下代码:

const http = require('http');
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, Node.js on CentOS!n');
});
server.listen(3000, '127.0.0.1', () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

运行它:

node app.js

打开另一个终端,使用 curl 命令访问:

curl http://127.0.0.1:3000

如果看到输出 “Hello, Node.js on CentOS!”,恭喜您,您的 Node.js 环境已成功搭建并运行。


相关问答FAQs

我如何彻底卸载通过 NodeSource 或 AppStream 安装的 Node.js?

解答: 卸载过程与安装时使用的包管理器一致,如果您通过 NodeSource 或 AppStream 安装,只需使用 dnf(或 yum)命令即可完全移除 Node.js 及其相关文件。

sudo dnf remove -y nodejs

执行此命令后,系统会提示您确认卸载,确认后 Node.js 和 npm 将被从系统中删除,对于 NVM 安装的版本,请使用 NVM 自带的卸载命令,如 nvm uninstall <version>

在开发过程中,我经常需要切换 Node.js 版本,有没有快捷方式?

解答: 这正是 NVM 的核心价值所在,除了使用 nvm use <version> 手动切换外,您可以在项目根目录下创建一个名为 .nvmrc 的文件,并在文件中写入该项目所需的 Node.js 版本号(19.0),当您进入该目录后,可以运行 nvm use 命令,NVM 会自动读取 .nvmrc 文件中的版本号并为您切换到对应版本,极大地方便了多项目开发,您还可以使用 nvm alias default <version> 设置一个默认启动的 Node.js 版本,避免每次打开新终端都需要手动切换。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-09 10:46
下一篇 2025-10-09 10:50

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信