本文從屬於筆者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 | 運行某個命令 |