CentOS 使用国内镜像安装 nvm 和 Node.js 完整指南

前言‌:

本文是实践过程中的个人总结,介绍在 CentOS 系统上通过国内镜像快速安装 nvm(Node Version Manager),并配置镜像源加速 Node.js 的下载和依赖管理,解决因网络问题导致的安装失败或速度缓慢。

一、前置准备

  1. 安装基础工具

确保系统已安装 git 和 curl:

sudo yum install -y git curl

二、通过 Gitee 镜像安装 nvm

  1. 一键安装脚本

从国内 Gitee 镜像源下载安装脚本,避免直连 GitHub 的稳定性问题:

curl -fsSL https://gitee.com/edazh/nvm/raw/master/install.sh | bash

  1. 加载环境变量

安装完成后,刷新 Shell 配置使其立即生效:

source ~/.bashrc # 适用于 Bash 用户

如果使用 Zsh,执行:source ~/.zshrc

  1. 验证安装

nvm --version

输出示例:v0.39.7(版本号可能不同)

三、配置国内镜像源加速 Node.js 安装

  1. 设置环境变量(临时生效)

在安装 Node.js 前,指定淘宝镜像源:

export NVM_NODEJS_ORG_MIRROR="https://cdn.npmmirror.com/binaries/node/"

  1. 持久化镜像配置

将镜像源写入 Shell 配置文件,避免每次手动设置:

echo 'export NVM_NODEJS_ORG_MIRROR="https://cdn.npmmirror.com/binaries/node/"' >> ~/.bashrc

source ~/.bashrc

四、安装 Node.js

  1. 查看可安装版本

nvm ls-remote

列出所有可用版本(镜像加速后显示正常 Node.js 列表)

  1. 安装最新 LTS 版本

nvm install --lts

  1. 安装指定版本(示例:v20.12.2)

nvm install v20.12.2

  1. 验证 Node.js 和 npm

node -v # 输出示例:v20.12.2

npm -v # 输出示例:10.4.0

五、版本管理常用命令

  1. 切换 Node.js 版本

nvm use 20 # 使用已安装的 20.x 最新版本

  1. 设置默认版本

nvm alias default 20

  1. 查看已安装版本

nvm ls

六、故障排查

  1. 镜像源连通性测试

curl -I https://cdn.npmmirror.com/binaries/node/

若返回 200/302 状态码,表示镜像源正常

  1. 环境变量未生效

检查 ~/.bashrc 是否包含以下内容:

cat ~/.bashrc | grep NVM_NODEJS_ORG_MIRROR

应输出:export NVM_NODEJS_ORG_MIRROR="https://cdn.npmmirror.com/binaries/node/"

  1. 清除 nvm 缓存

若安装失败,尝试清理缓存后重试:

nvm cache clear

七、nvm 升级方法

使用内置的国内镜像更新命令:

nvm-update # 更新完成后需重启终端

八、小结‌

通过 Gitee 镜像安装 nvm 并配置淘宝镜像源,可大幅提升 CentOS 环境下 Node.js 的安装速度和稳定性。建议开发者在所有涉及 Node.js 的操作中优先使用国内镜像,避免因网络问题导致的安装中断。

附录:

https://cdn.npmmirror.com/binaries/node 是 中国的镜像站点,用于提供 Node.js 二进制文件的下载服务,由 阿里巴巴集团(淘宝团队) 维护,属于其开源镜像计划的一部分(原名为 "淘宝 NPM 镜像",现更名为 "NPM 镜像" 或 "npmmirror")。

相关推荐
zfxwasaboy4 小时前
Linux宏clamp(val, lo, hi)的作用
linux·运维·服务器
我爱学习好爱好爱5 小时前
Ansible 常用模块详解:lineinfile、replace、get_url实战
linux·python·ansible
吴声子夜歌6 小时前
TypeScript——基础类型(三)
java·linux·typescript
DA02216 小时前
系统移植-STM32MP1启动详解(BootROM)
linux·bsp·系统移植
春日见7 小时前
自驾算法的日常工作?如何提升模型性能?
linux·人工智能·机器学习·计算机视觉·自动驾驶
李彦亮老师(本人)7 小时前
【Linux系统】Rocky Linux 9.7操作系统简介
linux·运维·服务器·docker·kubernetes
minji...7 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
A.A呐7 小时前
【Linux第二十章】socket
linux
何中应7 小时前
Grafana如何重置密码
linux·运维·服务器·grafana
charlie1145141918 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(3)inittab 与 init 系统:Linux 启动的“第一号进程“全解析
linux·驱动开发·学习·嵌入式开发·嵌入式linux