在 CentOS 系统上安装 Node.js 是许多开发者和系统管理员在部署现代 Web 应用、构建 API 或运行 JavaScript 工具链时的首要任务,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,它让 JavaScript 能够脱离浏览器在服务器端执行,由于其高效、事件驱动的非阻塞 I/O 模型,Node.js 在构建高并发、可扩展的网络应用方面表现出色,对于 CentOS 这类以稳定性著称的服务器操作系统,如何选择合适的安装方法并正确配置,是确保开发与生产环境顺畅运行的关键,本文将详细介绍几种在 CentOS 上安装 Node.js 的主流方法,并分析其优劣,以帮助您根据具体需求做出最佳选择。
我们主要探讨三种最具代表性的安装方式:通过官方 NodeSource 仓库安装、利用 CentOS AppStream 软件库安装以及使用 NVM(Node Version Manager)进行版本管理,每种方法都有其独特的适用场景,理解它们的差异至关重要。
使用 NodeSource 仓库安装(推荐方式)
对于那些需要获得较新 Node.js 版本,同时又希望使用系统原生包管理器(如 dnf
或 yum
)来方便地进行安装、更新和卸载的用户来说,NodeSource 提供的软件源是理想的选择,NodeSource 是一家致力于提供高质量 Node.js 二进制分发服务的公司,其仓库中通常包含最新稳定版以及多个长期支持(LTS)版本。
安装步骤如下:
添加 NodeSource 仓库: 您需要从 NodeSource 官方 GitHub 仓库获取并执行对应版本的安装脚本,要安装 Node.js 20.x LTS 版本,可以运行以下命令:
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
这个脚本会自动配置您的系统,将 NodeSource 的仓库地址添加到
dnf
或yum
的源列表中。安装 Node.js: 仓库添加成功后,使用系统包管理器即可轻松安装。
sudo dnf install -y nodejs
(在较旧的 CentOS 7 系统中,可能需要使用
sudo yum install -y nodejs
。)验证安装: 安装完成后,通过检查版本来确认 Node.js 和其附带的 npm(Node Package Manager)是否已正确安装。
node -v npm -v
如果输出显示了对应的版本号,则说明安装成功。
此方法的优点是能够便捷地管理 Node.js 的生命周期,并且版本相对较新,非常适合生产环境使用。
使用 CentOS AppStream 软件库安装(最简单方式)
CentOS 8 及以后的版本引入了 AppStream,这是一个提供各类应用程序和运行时环境的软件仓库,Node.js 也包含在其中,这是最直接的安装方式,但其提供的版本通常不是最新的,主要倾向于稳定和长期维护。
安装步骤如下:
查看可用版本: 您可以先查看 AppStream 中提供了哪些 Node.js 模块流。
sudo dnf module list nodejs
此命令会列出所有可用的 Node.js 版本流,
10
,12
,14
,16
,18
,20
等,并默认启用其中一个。安装默认或指定版本:
- 安装默认流版本: 直接运行安装命令即可。
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 版本,且互不干扰。
安装和使用步骤如下:
安装 NVM: 使用
curl
或wget
下载并执行官方安装脚本。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
配置环境变量: 安装脚本会尝试自动将 NVM 的配置写入您的 shell 配置文件(如
~/.bash_profile
或~/.zshrc
),为了让其生效,您需要重新加载配置文件或重启终端。source ~/.bashrc
安装和管理 Node.js 版本:
- 安装最新 LTS 版本:
nvm install --lts
- 安装指定版本:
nvm install 18.19.0
- 列出所有已安装版本:
nvm ls
- 切换使用版本:
nvm use 20.10.0
- 设置默认版本:
nvm alias default 18.19.0
- 安装最新 LTS 版本:
NVM 是开发环境下的不二之选,它提供了无与伦比的灵活性,但需要注意的是,NVM 安装的 Node.js 仅对当前用户有效,且无法通过系统服务管理工具(如 systemd
)直接管理。
为了让您更直观地做出选择,下表小编总结了这三种方法的差异:
方法 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
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 版本,避免每次打开新终端都需要手动切换。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复