npm、yarn换源与nrm

4,095 阅读1分钟

npm、yarn换源

NPM与yarn都是包管理工具,我们可以通过NPM和yarn来安装所需要的第三方包和第三方命令行程序,又或者是上传自己的程序或库供他人使用。

npm、yarn默认的服务器在国外。由于个服务器的地区差异以及国内的长城防火墙的存在,在国内的用户很可能访问不到或者下载速度极慢。

为了解决这个问题,有些组织就把国外的库给搬到国内(镜像),那么我们下载内容的时候直接从国内服务器下载就非常快了。

查看下载源

$ yarn config get registry
$ npm config get registry

设置下载源(以淘宝源为例)

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

NRM

nrm的存在其实就是为了上面的操作提供些许帮助,而且它初始就保存了一些常用的源,不需要满大街找源的地址。

安装

$ npm install -g nrm 
或
$ yarn add global nrm 

查看源仓库

$ 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 add 源的名字  https:// 地址

删除源
$ nrm del 源的名字

使用源

$ nrm use 源的名字

测试源的速度

$ nrm test
// 下面是结果
  npm ---- 712ms
  yarn --- 746ms
  cnpm --- 187ms
* taobao - 130ms
  nj ----- Fetch Error
  npmMirror  856ms
  edunpm - Fetch Error

可以明显发现淘宝源在国内是最快的