nrm 是一个 npm 源管理器,允许你快速地在 npm源间切换
npm默认情况下是使用npm官方源(使用npm config ls命令可以查看),在国内用这个源肯定是不靠谱的
nrm github https://github.com/topics/nrm

npm set registry

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

nrm use taobao

用淘宝npm源
image.png

npm.taobao.org

https://github.com/cnpm/cnpm/issues/361
https://zhuanlan.zhihu.com/p/465424728

npm.taobao.org 和 registry.npm.taobao.org 将在 2022.06.30 号正式下线和停止 DNS 解析。
新域名切换规则:

  • npm.taobao.org => npmmirror.com
  • registry.npm.taobao.org => registry.npmmirror.com

因此,有强依赖老域名的各位开发者请尽快更新到新域名,可能受到的影响和处理方式:

  • 企业用户需要联系 网管/IT/SRE 更新防火墙白名单。
  • 存量应用的 lock 文件,开发者需要自行执行 sed 等指令去替换或重新生成。
  • 本地 npmrc 里面的 registry 地址(如果有,则)需要开发者自行更新。
  • 开发者自己的 CL 工具 或 平台应用 里面写死的地址,需开发者自己更新并部署。
  • cnpm cli / nrm 等工具,对应的社区同学已经提 PR 更新,大家重新安装最新版本即可

nrm ls

带 * 号的是当前的 npm源
image.png

nrm test

测试 npm下载速度
image.png

nrm add

registry为源名,url为源地址

  1. nrm add <registry> <url>

比如:添加一个公司私有的npm源,源地址为:http://192.168.22.11:8888/repository/npm-public

  1. nrm add cpm http://192.168.22.11:8888/repository/npm-public/

nrm delete

  1. nrm del <registry>

npm set

  1. npm config set registry https://registry.npm.taobao.org/
  2. http://registry.npm.alibaba-inc.com/
  3. npm install react --registry https://registry.npm.taobao.org/

npm无法安装任何包的解决办法

ollbackFailedOptional

原因: 设置的代理错误,删除即可

  1. npm config rm proxy
  2. npm config rm https-proxy

执行

  1. npm config get proxy
  2. npm config get https-proxy

如果返回值不为null,继续执行

  1. npm config set proxy null
  2. npm config set https-proxy null

设置 npm源为 taobao源

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

.npmrc文件,将registry的值修改为:

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

项目根目录创建 .npmrc文件

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

image.png