nrm —— 你的 npm 镜像源管家

476 阅读1分钟

这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战


- 公司项目用公司的源,自己项目用 npm 源,公司项目和自己项目之间反复横跳

- npm install 卡死...各个镜像源之间反复横跳

- ...

总有一个需要在各个源之间反复横跳的场景在等着你

不用 nrm 怎么换源?

临时换源

单独针对某一次安装使用指定源


// 指定淘宝镜像安装

$ npm install --registry=https://registry.npm.taobao.org

永久换源

全局永久设置使用指定源,这样就不用每次都像上面一样通过 --registry 指定源来换源了。当然,如果要切换别的源,也是同样的操作


// 全局永久指定淘宝镜像安装

$ npm config set registry https://registry.npm.taobao.org

换源后可以下面这样查看当前源,来检查是否换源成功


$ npm config get registry

// https://registry.npm.taobao.org/

有了 nrm 之后

安装


$ npm install -g nrm

如有遇到安装失败的情况,建议检查下 node npm 的版本

查看可选源

nrm 内置了几个常用的源,可以直接通过 nrm ls 来查看所有内置源和自己添加的源


$ nrm ls

* npm -------- https://registry.npmjs.org/
  yarn ------- https://registry.yarnpkg.com/
  cnpm ------- http://r.cnpmjs.org/
  taobao ----- https://registry.npm.taobao.org/
  nj --------- https://registry.nodejitsu.com/
  npmMirror -- https://skimdb.npmjs.com/registry/
  edunpm ----- http://registry.enpmjs.org/

* 表示当前在使用的源,横杠前面的是源的别名

切换源

使用 $ nrm use 『别名』 来切换到指定源


// 切换到淘宝镜像源

$ nrm use taobao

    Registry has been set to: https://registry.npm.taobao.org/

增加源

我们也可以根据自己的需要通过 $ nrm add 别名 地址 来添加自己的源,比如公司的私有源


$ nrm add xxx http://registry.npm.xxx.org/

删除源

$ nrm del 别名 来删除不需要的源


$ nrm del <registry>  

测试源

有时候我们安装包比较慢,想换到个速度比较快的源,就可以这样测试一下,直接测出所有源的速度,非常好用


$ nrm test

* npm ---- 2627ms
  yarn --- 1758ms
  cnpm --- 604ms
  taobao - 94ms
  nj ----- 10229ms
  npmMirror  13575ms
  edunpm - 588ms
  

如果是 yarn

依然有 yrm 来帮忙管理源,使用方法跟 nrm 一样