npm 仍是 yarn ?

技術選型時這個問題老是困擾我,今天看到一篇文章,詳細的解釋了 npm 和 yarn 在性能,安全,支持性和使用難易度上的區別,看完以後這個問題終於有一個答案:node

若是你在乎速度和 UI,選 yarn,若是你是個保守派,選 npm 會更加合適。npm

文章地址:https://stackshare.io/stackups/npm-vs-yarn緩存

性能

不管是在無緩存項目中(沒有 nodemodules 目錄),仍是在有緩存項目中,yarn 都比 npm 快,2 分鐘或十幾秒,並且 yarn 還支持離線下載!(這主要是由於 yarn 支持並行下載包);安全

安全

yarn 和 npm 都採用了一些方法鎖定包的依賴版本,以防止包的依賴錯誤,因此二者在這一點上是一樣安全的,可是 yarn 多了一個「協議檢查」的功能,使用 yarn licenses list 命令能夠看到各個包的協議,其實沒什麼用。性能

支持性

yarn 是由 facebook 維護的,用來彌補 npm 的不足,而 npm 是由 Isaac Z. Schlueter 建立的一個開源的包管理器。二者的支持性其實差很少,可是更多人由於 yarn 的性能選擇 yarn。除此以外,yarn 選擇從多個包倉庫下載包,例如 npmjs.combower,這讓 yarn 會更可靠一些。code

使用難易度

  1. CLI 用戶界面

yarn 的用戶界面會更加簡潔,但 npm 能夠經過 -s 參數去執行靜默執行。bower

  1. 用戶體驗

npm 和 yarn 在這方面差很少,不過 yarn 能夠經過 yarn upgrade-interactive [--latest] 命令,開啓一個手動選擇包的交互界面。get

使用量

npm 在 Github 上有 17.1K 的 Star,而 yarn 的 Star 數爲 35.6K,可是從使用量調研上看,yarn 要少不少。it

相關文章
相關標籤/搜索