Yarn 和npm一样,也是一个包管理器
一、简介
“Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,Yarn 是为了弥补 npm 的一些缺陷而出现的
- npm缺点:npm5.0之后下面这些问题就少很多了
- <1>npm install的时候巨慢。特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。
- <2>同一个项目,安装的时候无法保持安装的版本一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。
- “5.0.3”: 表示安装指定的5.0.3版本
- “~5.0.3”: 表示安装5.0.X中最新的版本
- "^5.0.3: 表示安装5.X.X中最新的版本
- 因为install的时候是根据package.json来安装,所以可能出现安装的版本不一致,导致错误。
- <3>安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包。因为npm会把所有的日志输出到终端,有关错误包的错误信息就会在一大堆npm打印的警告中丢失掉,并且你甚至永远不会注意到实际发生的错误。
- yarn优点:
- <1>yarn命令速度快。yarn是并行安装,并且如果之前已经安装过一个包,再次安装的时候yarn直接从缓存里面获取。就不用像npm那样依然从网络下载了。
- <2>安装版本统一:yarn有一个yarn.lock文件,每次新增模块的时候,就会更新这个lock文件。而install的时候,优先是用这个yarn.lock文件而后再用package.json。不过npm也有一个package-lock.json,和上面的差不多。
- <3>更简洁的输出:yarn命令的输出要简单一点。
二、下载安装
下载:依然是到官网去下载
查看版本:
yarn --version
三、使用
命令对比
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