npm和yarn的区别,选择哪个好?

  • 导语:Npm和yarn都是一个包管理工具

  1. npm使用一个名为package.json文件,用户通过npm install下载的依赖包都会保存在这个文件里面。

  1. Yarn是Facebook、Google、Exponent和Tilde联合推出的一个新的JS包管理工具,目的是为了弥补npm存在的一些缺陷。

  • Npm存在的缺陷:
  1. npm install的时候很慢,在拉取新项目的时候通常都要等很久,删除掉node_module后重新install速度也依旧很慢。

  1. 不同人在npm install同一个项目的时候,会出现版本不一致的问题,这是由于package.json版本号的问题,下面有三个版本号在安装时代表不同的含义。

“5.0.3” 表示安装指定的5.0.3版本

“~5.0.3”表示安装5.0.X中最新的版本

“^5.0.3”表示安装5.X.X中最新的版本

这就导致同一个项目,你的同事安装下来是没有问题的,但你有可能会因为安装版本的不一致出现bug。

  1. 用npm在安装过程中,如果一个包出现了问题抛出了错误,但是npm会继续下载和安装包,因为npm会把所有的日志输出到终端,错误包的错误信息会在一大堆npm打印的警告中丢失,你甚至永远都不会注意到实际发生的错误。

  1. Npm安装包是按照队列执行的,也就是说一个包的安装要等待上一个包安装完成才能执行

  • Yarn的优点:
  1. Yarn安装包的速度很快,因为yarn是同步执行所有任务的,所有包的安装可以一起同时执行,不用等待,提高了性能。

  1. Yarn有缓存机制,如果之前安装过这个包了,再次安装时yarn会从缓存中获取,不用再从网络上下载,有离线模式。这也是yarn速度快的一个原因。

  1. 安装版本会统一,yarn有一个锁定文件(lock file)记录了被确切安装上的模块版本,每次只要新增了一个模块,yarn就会自动创建或更新yarn lock这个文件,这样就保证,每次拉取同一个项目依赖时,都是同样的版本模块。

  1. Yarn的输出更简洁,npm会不断打印被安装上的依赖,而yarn只会打印出必要的信息

  1. 尽管一个依赖包被多个库关联引用很多次,安装这个依赖包时,yarn只会从一个注册来源去安装。

  • Yarn和npm命令对比

npm

yarn

npm install

yarn

npm install react --save

yarn add react

npm uninstall react --save

yarn remove react

npm install react --save-dev

yarn add react --dev

npm update --save

yarn upgrade

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值