跳到主要内容

npm 镜像源设置与管理

缘起

某一天,一直在用的 https://registry.npmmirror.com 突然抽风挂了(一会儿),影响构建测试,于是就有需要快速切换到其它可用 npm 镜像源的需求。

npm

npm、npm registry、npm 镜像源

npm(Node Package Manager)是一个 JavaScript 包管理器,它允许开发者安装、共享和管理依赖,npm 也是一个cli,用于与 npm 的在线服务交互,这个在线服务就是 npm registry1

npm registry 是一个大型的数据库,用于存储公开发布的 JavaScript 代码包。当使用 npm install 命令安装一个包时,npm 客户端会与 npm registry 通信,下载并安装请求的包。

npm 镜像源是 npm registry 的一个镜像,它包含了 npm 官方库中的所有包的副本,用于提高下载速度,特别是在某些地区访问官方源可能较慢或不稳定的情况下。通过切换到一个更快或地理位置更近的镜像源(例如国内常用的淘宝源2),开发者可以更快地下载和安装 npm 包。

切换

# 全局设置源
npm config set registry https://registry.npmmirror.com

# 临时设置源
npm install express --registry https://registry.npmmirror.com

设置项目源(仅项目生效):在项目根目录下,创建 .npmrc 文件,添加以下内容:

registry=https://registry.npmmirror.com

验证

npm config get registry

nrm

nrm3 是一个 npm 源管理器,可以快速切换不同的源。

安装

npm install -g nrm

# 验证安装
nrm --version

查看镜像源列表

nrm ls

镜像源测速

nrm test

切换

nrm use taobao

# 验证
nrm current
# 或
npm config get registry

Footnotes

  1. https://registry.npmjs.org/

  2. https://registry.npmmirror.com/

  3. https://www.npmjs.com/package/nrm