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")。

相关推荐
gamers6 分钟前
rock linux 9 安装mysql 5.7.44
linux·mysql·adb
谢尔登15 分钟前
【Webpack】模块联邦
前端·webpack·node.js
二进制_博客43 分钟前
给CentOS的虚拟机扩容
linux·运维·centos
千钰v1 小时前
Tcpdump: The Basics Tcpdump 基础
linux·运维·网络·tcpdump·tryhackme
kk5791 小时前
【Ubuntu】sudo apt update出现E :仓库***没有Release文件
linux·运维·ubuntu
cellurw1 小时前
Linux下C语言实现HTTP+SQLite3电子元器件查询系统
linux·c语言·http
..过云雨1 小时前
03.【Linux系统编程】基础开发工具1(yum软件安装、vim编辑器、编辑器gcc/g++)
linux·c语言·笔记·学习
青草地溪水旁2 小时前
Linux 高性能 I/O 事件通知机制的核心系统调用—— `epoll_ctl`
linux·c语言·c++
不会c嘎嘎2 小时前
Linux -- 基于TCP服务器实现一个简单的电商网站
linux·服务器·tcp/ip
程序leo源2 小时前
Linux_基础指令(二)
android·linux·运维·服务器·青少年编程