npm 和 yarn的区别
yarn和npm的区别
npm
npm install速度慢。
同一个项目,安装依赖版本无法保持一致。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。
"5.0.3", //“5.0.3”表示安装指定的5.0.3版本
"~5.0.3", // “~5.0.3”表示安装5.0.X中最新的版本
"^5.0.3"//“^5.0.3”表示安装5.X.X中最新的版本
npm下载以来经常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。
主要是npm下载"^5.0.3"只会下载5.X.X中最新的版本。
yarn
1. yarn虽然和nom一样是本地缓存,但是yarn无需互联网链接就能安装本地缓存的依赖项,提供了离线模式,而这个是npm实现不了的。
2. yarn解决了由于语义版本控制而导致的npm的不确定性问题,通过安装时创建的默认文件,确保使用的库的版本相同。
3. yarn增加了一些能让开发人员并行化处理所有必需的操作,且通过添加了一些改进,使得运行速度有了显著的提升,整个安装时间也变得更少。
4. yarn的语义相对于npm更加清晰,主要是因为yarn改变了一些npm的命令名称,看上去就更清晰了。
5. 下载package的依赖版本保持一致,"^5.0.3"就只会下载5.0.3版本的依赖包