npm和yarn的区别

yarn和npm的对比

  • 速度

      npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。
    
      而 Yarn 是同步执行所有任务,提高了性能。
    
  • 安装版本统一

     Yarn 默认会生成这样的锁定文件
    
     npm 要通过 shrinkwrap 命令生成 npm-shrinkwrap.json 文件,只有当这个文件存在的时候,packages 版本信息才会被记录和更新。
    
     npm5.0之后新增了类似yarn.lock的 package-lock.json。如果软件包的根目录中同时存在package-lock.json和npm-shrinkwrap.json或者 yarn.lock,将以npm-shrinkwrap.json
    

package-lock.json,yarn.lock的顺序执行。

  • 更简洁的输出

    npm 的输出信息比较冗长。在执行 npm install <package> 的时候,命令行里会不断地打印出所有被安装上的依赖。
    
    Yarn 简洁太多:默认情况下,结合了 emoji直观且直接地打印出必要的信息,也提供了一些命令供开发者查询额外的安装信息。
    

pnpm

pnpm 引入了另一套依赖管理策略:内容寻址存储。

该策略会将包安装在系统的全局 store 中,依赖的每个版本只会在系统中安装一次。解决了yarn和npm未解决的重复安装问题。

参考:https://www.jianshu.com/p/254794d5e741
https://zhuanlan.zhihu.com/p/526257537

posted @ 2020-03-09 09:23  挖坑的前端狗  阅读(4023)  评论(2编辑  收藏  举报