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
如何在CentOS上高效搭建Java开发环境并进行项目部署调试?
下一篇 2025-10-09 10:50

相关推荐

  • 福州品牌网站设计_定制双品牌

    福州品牌网站设计,定制双品牌服务。我们专注于打造独特的品牌形象,提供个性化的网站设计方案,让您的品牌在互联网中脱颖而出。

    2024-07-11
    0031
  • 如何在CentOS 6.2系统上成功安装和配置Tomcat服务器?

    在信息技术领域,维护老旧系统是一项常见但充满挑战的任务,本文将详细探讨如何在已经停止官方支持的 CentOS 6.2 系统上安装和配置 Apache Tomcat 应用服务器,尽管 CentOS 6.2 已是一个古老的版本,但了解其上的部署过程对于遗留系统的维护、特定环境的兼容性测试或学习目的依然具有价值,我们……

    2025-10-07
    009
  • centos下重启tomcat命令是什么?如何安全重启不中断服务?

    在CentOS系统中重启Tomcat是日常运维中常见的操作,确保服务稳定运行的关键步骤,本文将详细介绍重启Tomcat的多种方法、注意事项及相关操作细节,帮助管理员高效完成服务重启任务,重启Tomcat的常用方法通过Tomcat脚本重启Tomcat安装目录下的bin文件夹提供了现成的管理脚本,这是最直接的重启方……

    2025-10-31
    009
  • CentOS 7.4系统遇到Intel bug要怎么解决?

    在信息技术领域,硬件与软件的协同工作构成了现代计算系统的基石,当硬件层面出现深层次的设计缺陷时,其影响将是深远且广泛的,2018年初,一个代号为“Spectre”和“Meltdown”的严重安全漏洞被公之于众,它揭示了近二十年来几乎所有现代处理器,尤其是Intel芯片,在性能优化设计上存在的根本性安全风险,对于……

    2025-10-26
    0013

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信