原文链接:、npm、nvm、nrm、cnpm、yarn都是什么? – 每天进步一点点 (longkui.site)
0.引言
大概是下面的这个关系。
1.npm
npm全称是【node package management】,是nodejs中内置的软件包管理工具,顾名思义,他是用来管理管理的软件。当你下载nodejs 的时候默认就有npm了。它是世界上最大的软件注册表,但是但是遗憾的是,国内用npm的时候有时候会很慢。
参见: npm的安装配置及使用
2. nvm
nvm是个版本管理工具,举例来说,你的手上有好几个nodejs的项目,每个项目所依赖的nodejs版本都不相同。这样管理起项目来就非常麻烦。nvm的诞生就是为了管理这些nodejs的版本,它可以让你在不同的nodejs版本之间来回切换。可以认为nvm在npm只上。
参见:nvm的安装配置及使用
3.nrm
上面说了npm是全世界最大的软件注册表,每天有数以万计的人从这个地方下载软件,这种情况一是会对中心服务器造成压力,另一个像国内访问国外的源会比较慢。nrm的诞生就是为了使用者在各个不同npm源之间来回切换。比如你在国内,你使用npm谷歌的源下载软件就龟速,但是你使用npm淘宝的源就比较快,这时候你就可以使用nrm来快速切换源了。
参见: nrm的安装与使用
4.cnpm
上面第三项说了国内访问国外的源比较慢,cnpm可以认为是中国版版本的npm,和国外的尽量保持10分钟一更新,它和npm最主要的区别就是它的源在国内,国内使用cnpm比npm 快的多。国内的完全可以用cnpm来代替npm
参加:cnpm的安装与使用
5.yarn
yran是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,它的诞生主要是为了弥补npm的缺点,一定程度上可以认为是yarn的替代品。它相比起npm来说,速度更快,更加简洁,现在很多公司已经在使用yarn了。