简介

nnrm 即 new nrm。

GitHub: https://github.com/YunYouJun/nnrm/

nnrm - 一个极简的 npm/yarn registry 切换管理器 | V2EX

一个简单的 npm/yarn registry (镜像源)切换工具

Why new nrm - nnrm?

首先,我赞成重复造轮子是不好的行为。

nrm 的确使得切换更加方便,譬如我们可以简单地使用 nrm use taobao 的方式切换镜像。
但是在切换镜像前,安装 nrm 本身也是一件很慢的事情,nrm 依赖了已 deprecated 的且包体较大的 requestnpm 包,以及一些其他依赖。

而我自身至今使用过的实际只有 nrm lsnrm use 命令而已。(偶尔可能尝试一下 nrm test 进行测速)。

此外因为经常需要在不同的机器上操作,所以我希望它足够简洁,安装迅速,并且我不想总是看到依赖的包已 deprecated 的提示(强迫症?)。这便是它诞生的原因。

Features

nnrm 相比 nrm 的改进之处:

  • 支持 yarn (yarn 与 npm 的 registry 是互相独立的)
  • 极小的依赖
  • 异步地显示源测速结果
  • 彩色的输出结果
  • 每次修改后自动显示 registry 列表,并标记当前 registry

安装

yarn global add nnrm
# npm install -g nnrm

使用

nnrm -h 查看帮助。

Usage:
  $ nrm <command> [options]

Commands:
  ls                           List all the registries
  use [registry]               Change registry
  test                         Show response time for all registries
  add <registry> <url> [home]  Add a custom registry
  remove <registry>            Remove a custom registry

Options:
  -h, --help     Display this message
  -v, --version  Display version number

显示所有源

nnrm ls

Default Registires

切换源

nnrm 同时绑定了四个命令 nnrm, nrm, nyrm, yrm

npm 可以使用 nnrmnrm 切换。

yarn 可以使用 nyrmyrm 切换。

nnrm use taobao
# nrm use taobao
# yrm use npm

添加/删除自有源

nnrm add example https://example.com
nnrm remove example

Q.E.D.