在服务器运维和开发领域,CentOS 7 以其卓越的稳定性和长期支持,至今仍是许多生产环境的首选操作系统,当需要在其上部署一些遗留项目时,开发者可能会遇到需要安装特定版本软件的情况,Node.js 8 便是一个典型的例子,Node.js 8,代号“Carbon”,是继 Node.js 6 之后的又一个重要的长期支持(LTS)版本,在当时为许多企业级应用提供了坚实的运行基础,本文将详细介绍在 CentOS 7 系统上安装 Node.js 8 的几种主流方法,并提供相关的配置指导,以确保您能够顺利搭建起所需的开发或生产环境。
Node.js 8 的时代意义
在深入安装步骤之前,理解 Node.js 8 的重要性是很有必要的,作为 LTS 版本,它在 2017 年发布,并在随后的一段时间内收到了关键的安全更新和错误修复,对于许多基于该版本构建的大型项目而言,直接升级到更高版本的 Node.js 可能会引入不可预知的兼容性问题,在维护这些系统时,精确地安装和运行 Node.js 8 环境就显得至关重要,它包含了 V8 6.1 引擎,带来了显著的性能提升,并原生支持了 async/await
语法,极大地改善了异步编程的体验。
在 CentOS 7 上安装 Node.js 8 的三种主流方法
在 CentOS 7 上安装特定版本的 Node.js,官方默认的 Yum 仓库往往无法满足需求,因为它提供的版本通常非常陈旧,我们需要借助一些第三方工具或源,下面,我们将详细介绍三种行之有效的方法。
使用 NVM (Node Version Manager) 进行安装
NVM 是一个广受欢迎的 Node.js 版本管理工具,它允许在同一台机器上轻松安装、切换和管理多个 Node.js 版本,对于需要同时处理不同项目(依赖不同 Node.js 版本)的开发者来说,这是最灵活、最推荐的方案。
步骤如下:
安装必要的编译工具: NVM 在安装 Node.js 时会从源码编译部分组件,因此需要先安装构建工具。
sudo yum groupinstall -y "Development Tools" sudo yum install -y openssl-devel
下载并安装 NVM: 使用官方提供的安装脚本是最便捷的方式。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
注意:NVM 版本号会更新,您可以访问其 GitHub 主页获取最新的安装脚本链接。
配置环境变量: 安装脚本会自动将 NVM 的配置写入您的 shell 配置文件(如
~/.bash_profile
),您需要重新加载配置文件或重新登录终端使其生效。source ~/.bash_profile
安装并使用 Node.js 8: 您可以使用 NVM 命令来安装任何您需要的 Node.js 版本。
nvm install 8
安装完成后,NVM 会自动切换到该版本,您可以使用以下命令进行验证和切换:
nvm use 8 node -v
输出结果应为
v8.x.x
的格式。
通过 NodeSource 官方源进行安装
NodeSource 公司致力于为 Linux 发行版提供高质量、最新的 Node.js 二进制包,通过配置其 Yum 仓库,可以直接使用 yum
命令来安装和管理 Node.js,这种方法非常适合生产环境。
步骤如下:
添加 NodeSource 仓库: 运行以下脚本,它会自动将 NodeSource 的 Node.js 8 仓库添加到您的系统中。
curl -fsSL https://rpm.nodesource.com/setup_8.x | sudo bash -
安装 Node.js: 仓库添加成功后,即可使用
yum
进行安装。sudo yum install -y nodejs
验证安装:
node -v npm -v
此方法安装的 Node.js 是系统级的,所有用户均可使用,但切换版本不如 NVM 方便。
从源码编译安装 (高级用户)
这是一种最原始也是最灵活的方法,它允许您对编译过程进行高度定制,但同时也最为复杂和耗时,一般不推荐普通用户使用。
核心步骤概括:
- 安装编译依赖(同方法一)。
- 前往 Node.js 官网下载 Node.js 8 的源码包(
.tar.xz
格式)。 - 解压源码包,进入解压后的目录。
- 运行
./configure
脚本进行配置。 - 执行
make
命令进行编译(此过程非常耗时)。 - 执行
sudo make install
将编译好的文件安装到系统目录。
验证安装与创建示例应用
无论采用哪种方法,安装完成后,验证其是否正常工作都是至关重要的一步。
检查版本:
node -v # 预期输出: v8.17.0 (或 8.x 系列的其他版本) npm -v # 预期输出: 6.13.4 (或与 Node.js 8 配套的 npm 版本)
创建一个简单的 Web 服务器:
创建一个名为server.js
的文件,并写入以下代码:const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello from Node.js 8 on CentOS 7!n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
运行服务器:
node server.js
您将看到
Server running at http://127.0.0.1:3000/
的提示,可以在服务器的浏览器中访问该地址,或使用curl
命令进行测试:curl http://127.0.0.1:3000
如果返回
Hello from Node.js 8 on CentOS 7!
,则证明您的 Node.js 8 环境已成功搭建并正常运行。
小编总结与建议
三种方法各有侧重:NVM 为开发者提供了无与伦比的灵活性,是开发环境的首选;NodeSource 方法则简洁稳定,非常适合标准化部署的生产服务器;从源码编译则适用于有特殊定制需求的场景,对于大多数用户而言,推荐优先考虑使用 NVM 或 NodeSource 的方法,它们在效率和易用性之间取得了最好的平衡。
相关问答 (FAQs)
为什么不建议直接使用 yum install nodejs
来安装?
答: CentOS 7 的官方默认软件仓库(包括启用 EPEL 仓库后)中提供的 Node.js 版本通常非常老旧,可能远低于您所需要的 Node.js 8 版本,直接使用 yum install nodejs
安装的可能是 Node.js 6.x 甚至更早的版本,这会导致依赖新特性的应用程序无法运行,并且可能存在已知的安全漏洞,为了获得正确且安全的版本,必须使用 NVM、NodeSource 等专门的渠道进行安装。
如果未来需要升级到更高版本的 Node.js,该如何操作?
答: 这取决于您当初选择的安装方法。
- 如果使用 NVM: 升级非常简单,只需执行
nvm install <新版本号>
(nvm install 18
)即可安装新版本,然后使用nvm use <新版本号>
来切换,或者通过nvm alias default <新版本号>
设置默认版本。 - 如果使用 NodeSource: 您需要先移除当前版本的 Node.js (
sudo yum remove nodejs
),然后前往 NodeSource 官网获取您想要安装的新版本的仓库脚本(setup_18.x
),运行该脚本来替换旧的仓库源,最后再次执行sudo yum install -y nodejs
即可,这种方法相比 NVM 略显繁琐。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复