在中国大陆使用 npm 官方源(https://registry.npmjs.org/)时,常常会因墙或网络延迟导致安装缓慢、不稳定,甚至失败。为了提高 npm 包下载速度和稳定性,使用速度更快的国内镜像是一种常见且有效的解决方式。
常见的国内镜像源推荐
以下是目前比较稳定、常用的镜像源,推荐按需选择:
淘宝镜像(最新)
地址为 https://registry.npmmirror.com/,同步及时,访问快速,是目前最广泛使用的国内镜像之一。
阿里云镜像
地址:https://npm.aliyun.com/,稳定且速度表现良好。
腾讯云镜像
地址:https://mirrors.cloud.tencent.com/npm/,同样稳定且普遍。
华为云镜像
地址:https://mirrors.huaweicloud.com/repository/npm/,资源较全,速度较快。
网易镜像
地址:https://mirrors.163.com/npm/,也是不错的选择。
清华大学开源镜像
地址:https://mirrors.tuna.tsinghua.edu.cn/,性能和稳定性优异。
中国科学技术大学(中科大)开源镜像
地址:https://npmreg.proxy.ustclug.org/,推荐使用。
如何设置 npm 镜像源
使用以下命令可切换 npm 的 registry 为国内镜像:
npm config set registry <镜像地址>
例如:
使用淘宝镜像:
npm config set registry https://registry.npmmirror.com/
使用阿里云镜像:
npm config set registry https://npm.aliyun.com/
使用腾讯云镜像:
npm config set registry http://mirrors.cloud.tencent.com/npm/
恢复官方默认镜像:
npm config set registry https://registry.npmjs.org/
验证是否设置成功:
npm config get registry
若输出为对应镜像地址,即表示设置成功。
使用 nrm 管理多个镜像
nrm 是一个镜像源管理工具,方便你在多个 registry 之间快速切换:
安装 nrm:
npm install -g nrm
查看可用镜像源:
nrm ls
切换至淘宝镜像:
nrm use taobao
测试多个镜像源的速度:
nrm test
切换后也是通过 npm config get registry 来验证。
使用 cnpm 来替代 npm
cnpm 是淘宝维护的基于 npm 的国内客户端,通过淘宝镜像安装 npm 包,下载速度快且命令几乎一致:
安装 cnpm:
npm install -g cnpm --registry=https://registry.npmmirror.com
使用方式:
cnpm install <包名>
它会优先从淘宝镜像获取资源,未同步时则会自动 fallback 官方源。
选择镜像时的考虑因素
速度与稳定性:大多数场景下,淘宝、阿里云、腾讯云、华为云、清华镜像都足够快速、稳定。
同步延迟:部分镜像可能存在短期延迟;备选多个镜像并灵活切换是不错的策略。
安全与信任:部分评论指出,使用第三方镜像可能存在一定风险,但若启用 package-lock.json 和 integrity 校验,可降低风险。
小结与建议
- 推荐使用:淘宝镜像(npmmirror.com),阿里云,腾讯云,华为云,清华、中科大镜像。
- 使用 npm config set registry 可快速切换,npm config get registry 验证。
- 更便捷的是用 nrm 来管理多个镜像,通过 nrm ls、nrm use、nrm test 提高切换效率。
- 若希望使用更快的安装方式,不妨试试 cnpm。