npm和yarn

小藍矛發表於2020-10-03

npm和yarn都是js的包管理工具

yarn相較於npm主要有以下3個優點 :

  1. yarn的速度快, Yarn 在執行包的安裝時,是並行下載,同步執行所有任務。還擁有離線快取機制,在已經安裝過某個包後,無需聯網即可從快取中獲取安裝。
  2. 版本鎖定,可以避免不同開發者在安裝依賴時因為版本不同所造成的bug
  3. 多註冊來源處理統一,所有的依賴包,不管他被不同的庫間接關聯引用多少次,安裝這個包時,只會從一個註冊來源去裝,要麼是 npm 要麼是 bower, 防止出現混亂不一致。
  4. 更好的語義化語法: yarn改變了一些npm命令的名稱,比如 yarn add/remove,感覺上比 npm 原本的 install/uninstall 要更清晰。
npmyarn
npm installyarn
npm install react --saveyarn add react
npm uninstall react --saveyarn remove react
npm install react --save-devyarn add react --dev
npm update --saveyarn upgrade

npm的未來:npm5.0
有了yarn的壓力之後,npm做了一些類似的改進。

預設新增了類似yarn.lock的 package-lock.json;
git 依賴支援優化:這個特性在需要安裝大量內部專案(例如在沒有自建源的內網開發),或需要使用某些依賴的未釋出版本時很有用。在這之前可能需要使用指定 commit_id 的方式來控制版本。
檔案依賴優化:在之前的版本,如果將本地目錄作為依賴來安裝,將會把檔案目錄作為副本拷貝到 node_modules 中。而在 npm5 中,將改為使用建立 symlinks 的方式來實現(使用本地 tarball 包除外),而不再執行檔案拷貝。這將會提升安裝速度。目前yarn還不支援。

相關文章