npm 和 yarn 是目前比较常用的包管理工具。本文主要对 npm5+ 和 yarn 来做简单的对比和介绍。
npm 与 yarn 主要的命令对比:
npm命令 | yarn命令 |
---|---|
npm install | yarn (install) |
npm install –save / npm i | yarn add |
npm install –save-dev / npm i -D | yarn add –dev |
npm uninstall | yarn remove |
npm init | yarn init |
npm install -g | yarn global add |
npm uninstall -g | yarn global remove |
npm start | yarn start |
npm run | yarn run |
npm ls | yarn list |
一、yarn
yarn是2016年10月发布,目前在Github上获取了3.4w+的 star。官方给出的解释是:快速、可靠、安全的依赖管理。
1.1 特点
1.1.1 并行安装:
无论 npm 还是 yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 yarn 是同步执行所有任务,提高了性能。
1.1.2 离线模式:
如果之前已经安装过一个软件包,再次安装时就不用再从网络下载了。
1.1.3安装版本统一:
安装版本统一为了防止拉取到不同的版本,yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。
1.1.4 多注册来源处理:
所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致