npmjs.com 是 NPM 的官方包仓库,常被比作 JavaScript 生态的“应用商店”。自 2020 年 GitHub 收购 npm 后,其核心基础设施(包括网站和公共仓库)的维护工作便由 GitHub 负责。
npm 是 Node.js 的默认包管理器,会随 Node.js 一同自动安装。此外,社区中还存在 cnpm、pnpm 和 yarn 等第三方包管理工具。
然而,对于国内开发者而言,直接使用 npm 官方源(https://npmjs.com)下载依赖包通常速度较慢,因此切换至国内镜像站是提升下载效率的有效方案。
镜像源配置方法
单次使用
通过 npm 的 --registry 选项,可在单次安装命令中临时指定镜像源。
$ npm install <package> --registry=https://registry.npmmirror.com
永久配置
若希望配置持久生效,可将设置保存至 npm 配置文件,后续所有 npm 命令将自动读取。
$ npm config set registry https://registry.npmmirror.com
该命令会在用户目录的 .npmrc 文件(Windows 路径为 C:\Users\<UserName>\.npmrc)中写入配置项:
$ cat ~/.npmrc
registry=https://registry.npmmirror.com
国内镜像站
npmmirror(原淘宝镜像站)
站点地址:https://npmmirror.com
npmmirror 是一个完整的 npmjs.com 镜像,与官方服务实时同步,提供只读服务。该社区还定制了 cnpm 命令行工具,可替代 npm 执行 install、info、view 等大多数命令(写操作除外)。
安装 cnpm:
$ npm install -g cnpm --registry=https://registry.npmmirror.com
或通过别名方式快速配置:
alias cnpm="npm --registry=https://registry.npmmirror.com \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npmmirror.com/mirrors/node \
--userconfig=$HOME/.cnpmrc"
当然,你也可以直接配置 registry 来使用任意包管理工具:
$ npm config set registry https://registry.npmmirror.com
腾讯云镜像站
腾讯云镜像源(https://mirrors.cloud.tencent.com/help/npm.html)提供了 npm 加速服务。
设置镜像源:
npm config set registry http://mirrors.tencent.com/npm/
为避免 SSL 校验失败,可关闭严格模式:
npm config set strict-ssl false
移除可能存在的代理配置:
npm config delete proxy
npm config delete https-proxy
查看当前配置:
npm config list
注意:执行 npm config list 后,输出中不应出现 proxy 相关配置,否则可能引发下载失败。
华为云镜像站
华为云提供了 npm 镜像加速服务,默认下载速度较慢,但注册登录后可获取 CDN 加速地址,下载速度可提升约10倍。
设置 npm 镜像源:
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
npm cache clean -f
华为开源镜像站还支持多种工具镜像的单独配置:
-
设置 Node.js 工具镜像地址:
npm config set disturl https://mirrors.huaweicloud.com/nodejs
-
设置 Node-Sass 镜像地址:
npm config set sass_binary_site https://mirrors.huaweicloud.com/node-sass
-
设置浏览器驱动镜像地址:
npm config set phantomjs_cdnurl https://mirrors.huaweicloud.com/phantomjs
npm config set chromedriver_cdnurl https://mirrors.huaweicloud.com/chromedriver
npm config set operadriver_cdnurl https://mirrors.huaweicloud.com/operadriver
-
设置 Electron 和 Python 镜像地址:
npm config set electron_mirror https://mirrors.huaweicloud.com/electron/
npm config set python_mirror https://mirrors.huaweicloud.com/python/