CentOS 7 安装 Node.js v18.x 完整教程

CentOS 7 安装 Node.js v18.x 完整教程

背景说明

从 Node.js 18 开始,官方版本不再支持 CentOS 7,这是因为 CentOS 7 的 glibc 版本较低。解决这个问题有两个方案:

  • 升级 glibc 动态库
  • 升级到 CentOS 8

但这两个方案风险都比较高,除非是空白服务器。因此本教程将介绍如何安装非官方构建的版本,这是最安全且推荐的方式。

系统环境

bash 复制代码
Linux iZwz9e3nt599kb7bc4k019Z 3.10.0-1160.31.1.el7.x86_64 #1 SMP Thu Jun 10 13:32:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

安装步骤

1. 查看系统版本

bash 复制代码
uname -a

2. 下载二进制安装包

⚠️ 重要提示:官方版本已不支持 CentOS 7,请使用非官方构建版本:

bash 复制代码
# 下载非官方构建的 Node.js v18.19.0
wget https://unofficial-builds.nodejs.org/download/release/v18.19.0/node-v18.19.0-linux-x64-glibc-217.tar.gz

# 解压文件
tar -xzvf node-v18.19.0-linux-x64-glibc-217.tar.gz

# 移动并重命名目录为 /data/nodejs
mv ./node-v18.19.0-linux-x64-glibc-217 /data/nodejs

3. 创建软链接(全局命令)

bash 复制代码
sudo ln -sf /data/nodejs/bin/node /usr/local/bin/
sudo ln -sf /data/nodejs/bin/npm /usr/local/bin/
sudo ln -sf /data/nodejs/bin/npx /usr/local/bin/

4. 配置环境变量

编辑系统配置文件:

bash 复制代码
sudo vim /etc/profile

在文件末尾追加以下内容:

bash 复制代码
export NODE_HOME=/data/nodejs
export PATH=$NODE_HOME/bin:$PATH

export NODE_GLOBAL=/data/nodejs_repo/node_global_v18
export PATH=$NODE_GLOBAL/bin:$PATH

重新加载配置文件使配置生效:

bash 复制代码
source /etc/profile

5. 验证安装结果

bash 复制代码
node -v

预期输出:

复制代码
v18.19.0

优化配置

6.1 更换 npm 镜像源

使用淘宝镜像源加速下载:

bash 复制代码
# 设置淘宝镜像源
npm config set registry https://registry.npm.taobao.org

# 查看设置信息
npm config list

6.2 重新设置本地仓库目录

创建全局模块和缓存目录:

bash 复制代码
mkdir -pv /data/nodejs_repo/node_global_v18
mkdir -pv /data/nodejs_repo/node_cache_v18

配置 npm 使用新的目录:

bash 复制代码
npm config set prefix "/data/nodejs_repo/node_global_v18"
npm config set cache "/data/nodejs_repo/node_cache_v18"

💡 提示:这一步非常重要,可以避免权限问题并更好地管理全局包。

安装常用模块

bash 复制代码
# Vue 相关
npm install -g vue
npm install -g vue-router
npm install -g @vue/cli
npm install -g @vue/cli-init

# Webpack 工具
npm install --g webpack
npm install --g webpack-cli

总结

通过以上步骤,你已成功在 CentOS 7 上安装了 Node.js v18.x 版本。主要关键点:

  1. ✅ 使用非官方构建版本(glibc-217)
  2. ✅ 正确配置环境变量
  3. ✅ 设置淘宝镜像源加速
  4. ✅ 自定义全局包目录避免权限问题

现在你可以开始使用 Node.js v18 运行Claude Code了!

相关推荐
吠品16 分钟前
Java byte数组与String互转:编码细节与踩坑记录
java·linux·服务器
木白CPP1 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
RisunJan1 小时前
Linux命令-times(进程累计时间显示)
linux·运维·chrome
渔夫正在掘金2 小时前
Cordis 中文教程:渐进式构建插件化应用
前端·node.js·ai编程
Titan20243 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
皮皮蟹虾饺3 小时前
NCCL 源码解析:通信器从出生到消亡的完整一生
linux·人工智能·ubuntu·语言模型·kubernetes
Java&Develop4 小时前
QuantDinger 宝塔 Linux 部署完整指南
linux·运维·状态模式
大家的林语冰4 小时前
✌️ 让 Rust 再次伟大,pnpm 12 抛弃 TypeScript,移植 Rust 原地起飞!
前端·javascript·node.js
RisunJan4 小时前
Linux命令-tcpdump(网络数据包捕获)
linux·网络·tcpdump
Titan20244 小时前
Linux网络学习:套接字、UDP的封装与应用
linux·服务器·开发语言·网络·c++