npm 還是 yarn ?


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

如果你在意速度和 UI,選 yarn,如果你是個保守派,選 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 會更可靠一些。

使用難易度

  1. CLI 用戶界面

yarn 的用戶界面會更加簡潔,但 npm 可以通過 -s 參數去執行靜默執行。

  1. 用戶體驗

npm 和 yarn 在這方面差不多,不過 yarn 可以通過 yarn upgrade-interactive [--latest] 命令,開啟一個手動選擇包的交互界面。

使用量

npm 在 Github 上有 17.1K 的 Star,而 yarn 的 Star 數為 35.6K,但是從使用量調研上看,yarn 要少很多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM