如何优雅的管理镜像源?

184 阅读1分钟

场景

我们在日常的工作中,常规使用的源并不是很多,大概就是以下几个:

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/

那么咱们在日常工作的时候如果需要切换源进行依赖安装会怎么做呢?

实践

  • 直接手动修改# .npmrc配置文件
registry=https://registry.npm.taobao.org
  • 在命令行使用npm config进行设置
npm config set registry https://registry.npm.taobao.org

但是以上两种方式都只能进行单个的源设置,那么多源如何进行管理呢? 这个时候NRM就能完美解决这种多源的管理问题。

  • 使用NRM
//nrm 安装
npm install nrm -g --save

//查看当前源
nrm current
//输出当前使用源npm 
npm

//查看本地所有源(*号为当前使用源)
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 <registry>
nrm use taobao
//输出已成功切换信息 
Registry has been set to: https://registry.npm.taobao.org/

//新增源 nrm add <registry> <url>
nrm add npmWeb https://registry.npm.taobao.org/
//输出
add registry npmWeb success
//删除源
nrm del npmWeb
//输出
delete registry npmWeb success