npm、cnpm、yarn之间的区别
npm
1. npm安装插件是从国外服务器下载,受网络影响大,可能出现异常。
2. npm是围绕语义版本控制的思想进行设计的
给定一个版本号:主版本号.次版本号.补丁版本号
主版本号: 当API发生改变,并与之前的版本不兼容的时候
次版本号: 当增加了功能,但是向后兼容的时候
补丁版本号: 当做了向后兼容的缺陷修复的时候
package.json某依赖的版本号如下:
“5.0.3”, // 安装指定的5.0.3版本
“~5.0.3”, // 安装5.0.X中最新的版本
“^5.0.3” // 安装5.X.X中最新的版本
因此不同的开发人员使用相同的package.json文件,在他们自己的机器上可能会安装同一个库的不同版本,由于语义版本控制而导致的npm安装的不确定性问题。
3. 由于npm库存在嵌套依赖的关系,会增加无法匹配相应版本的概率。
每一个包,会有嵌套其他的依赖包,如果两个包中存在同一个依赖包,但两者需要的依赖包的版本号不同,就会出现包的版本匹配问题。
4. npm 的输出信息比较冗长。
安装的时候,包会在同一时间下载和安装,中途某个时候,一个包出了错误,但是