Technical note

Yarn学习笔记

简介

Yarn作为一个新的包管理器,用于替代现有的npm客户端或者其他兼容npm仓库的包管理工具。

可以解决npm拉取依赖包较慢,依赖重复,以及cnpm容易丢失依赖的痛点。

特性:

  • 离线模式(Offline Mode):如果你之前安装过某个包,那么你可以在没有互联网连接的情况下,对这个包进行重新安装。
  • 确定性(Deterministic):不管安装顺序如何,相同的依赖在每台机器上会以完全相同的方式进行安装。
  • 网络性能:Yarn会对请求进行高效地排队,避免出现请求瀑布(waterfall),便于将网络的使用效率达到最大化。
  • 网络弹性(Network Resilience):单个请求的失败不会导致整个安装的失败,请求会基于故障进行重试。
  • 扁平模式(Flat Mode):将不匹配的依赖版本都会解析为同一个版本,避免重复创建。

官网

安装

npm方式:

npm install -g yarn

brew方式:

brew install yarn

对比

npmyarndesc
npm inityarn init初始化包的开发环境
npm installyarn install安装package文件里定义的所有依赖
npm install xxx —saveyarn add xxx安装某个依赖,默认保存到package中
npm uninstall xxx —saveyarn remove xxx移除某个依赖项目
npm install xxx —save-devyarn add xxx —dev安装某个开发时依赖项目
npm update xxx —saveyarn upgrade xxx更新某个依赖项目
npm install xxx —globalyarn global add xxx安装某个全局依赖项目
npm run/testyarn run/test运行某个命令