yarn-包管理工具

优点

速度超快

Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。

超级安全

在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。

超级可靠

使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。

和NPM的对比

yarn.lock

与npm相比,默认会生成yarn.lock文件对安装的模块版本进行锁定。这样做的目的在于移植代码的时候不会因为模块版本升级的问题而造成运行出错。而npm默认是没有锁定功能的,如果要实现锁定,需要执行npm shrinkwrap命令,执行后会生成一个锁定文件,当执行npm install时会优先读取锁定文件的模块版本号。

并行安装

npm的安装是通过队形的形式执行每一个package,所以必须等到当前的package执行完以后才能执行下一个。而yarn则是同步安装所有的package,速度上相比于npm会快一些。

更简洁的输出

npm安装时会输出所有安装的npm的包,而yarn在安装时输出的内容则会更加的简洁,并且输出了所有的依赖包。

和NPM使用的不同

YARN NPM
全局 yarn global add [package] npm global install [package] / npm -g install [package]
安装 yarn install npm install / npm i
初始化 yarn init npm init / npm init -y
新增 yarn add [package][@1.0.0/@tag] [–dev/-D] npm i [package][@1.0.0/@tag] [–save/-S/–save-dev/-D]
修改 yarn upgrade [package] npm upgrade [package]
删除 yran remove [package] npm remove [package]