本文从属于笔者Web-Develop-Introduction-And-Best-Practices中的NodeJS 入门与最佳实践javascript
Yarn是一个新的快速安全可信赖的能够替代NPM的依赖管理工具,笔者在本身过去不管是本机仍是CI中常常会碰到NPM安装依赖失败的情形,防不胜防啊。Yarn正式发布没几天已经迅速达到了数万赞,就能够知道你们苦NPM久已。笔者最先是在Facebook的这篇吐槽文中了解到Yarn。Facebook使用NPM与npm.js存放管理大量的依赖项目,不过随着依赖项数目与复杂度的增长,NPM自己在一致性、安全性以及性能方面的弊端逐渐暴露。所以忍无可忍的Facebook重构了Yarn这个新型的可替换NPM客户端的依赖管理工具。Yarn仍然基于NPM Registry做为主要的仓库,不过其提供了更快的安装速度与不一样环境下的一致性保证。java
Consistency: Yarn容许使用某个lockfile来保证团队中的全部人使用相同版本的npm依赖包,这一点会大大减小由于某我的系统自己问题而致使的Bug。git
Versatile Archives: Yarn还容许用户将npm包以tar.gz形式打包上传到版本控制系统中,这一点可以利用NPM包自己已经对不一样版本的Node或者操做系统作了容错这一特性。github
Offline: Yarn容许离线安装某些依赖,这点对于CI系统特别适用。CI系统就不须要保证有稳定的网络链接,特别是在有墙的地方。算法
Speed: Yarn采用了新的算法来保证速度, 比NPM快到2~7倍, 同时也容许使用离线包的方式本地安装依赖。npm
直接使用npm i yarn -g
全局安装便可,这是笔者本机的运行结果图,速度与稳定性确实都快了很多:工具
NPM | YARN | 说明 |
---|---|---|
npm init | yarn init | 初始化某个项目 |
npm install/link | yarn install/link | 默认的安装依赖操做 |
npm install taco —save | yarn add taco | 安装某个依赖,而且默认保存到package. |
npm uninstall taco —save | yarn remove taco | 移除某个依赖项目 |
npm install taco —save-dev | yarn add taco —dev | 安装某个开发时依赖项目 |
npm update taco —save | yarn upgrade taco | 更新某个依赖项目 |
npm install taco --global | yarn global add taco | 安装某个全局依赖项目 |
npm publish/login/logout | yarn publish/login/logout | 发布/登陆/登出,一系列NPM Registry操做 |
npm run/test | yarn run/test | 运行某个命令 |