切换NPM镜像源

npm 是一个基于 nodejs 的包管理工具,全称叫做node package manager.

npm中的包其实就是可复用的代码,每个开发者都可以选择把自己的代码发布到 npm上面来管理。每次使用的时候直接npm install <package>就能安装到本地使用了。我们都可以下载别人公开发布到npm上面的包,像jQuery、express、bootstrap等框架都有被托管到npm上面,所以我们可以很方便的安装下载来使用。这也正是npm最近几年发展如此迅速的原因所在。

但是,因为npm官方的服务器是在国外,国内开发者就会存在一个安装速度过慢的问题。我们可以通过一些办法来解决这个问题。

切换源

本质上解决这个问题是把npm默认的镜像源切换到国内的镜像源,国内
目前最稳定也是被使用最多的就是淘宝的镜像源。
淘宝镜像其实是克隆的官网全部的包到国内的淘宝镜像服务器上,所以会慢于官方的更新,但是淘宝镜像每十分钟更新一次的频率也算是很频繁的了,可以打开官网做进一步了解。

这里推荐三种方法来切换镜像源。

1.修改npm

命令行中直接输入指令:

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

指令是修改了npm默认的镜像源,以后每次安装都会从淘宝镜像的服务器来下载

2.cnpm

命令行中直接输入指令:

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

这里指令是用 cnpm 命令行工具代替默认的 npm,以后每次安装使用cnpm install <package>

3.nrm

  • nrm是一个快速切换npm镜像源的管理工具,需要开发者先安装这个工具:
1
$ npm install -g nrm
  • 查看镜像源列表
1
$ nrm list

默认情况下会显示镜像源为官方提供的npm

1
2
3
4
5
6
7
* npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/
  • 选择镜像源
1
$ nrm use taobao

再次nrm list的时候就可以看到已选择的是淘宝的镜像源

1
2
3
4
5
6
7
npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
* taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/

总结

可以通过下面的指令来查看当前使用的是否为某个镜像源。

1
$ npm config get registry

上面的几种方法都很简单,其实我个人倾向使用nrm的,安装简单,使用简单,基本不用copy命令行。

总之,不管哪种方法,大家在以后安装npm包的时候速度飕飕的就可以啦。

0%