相比npm 的優點
1.npm安裝是串行,而yarn是並行,速度大大提升
2.已經下載過的包會被緩存,無需重復下載,更關鍵的是,支持離線安裝
3.精准的版本控制,加上驗證每個包的完整性,保證每次安裝的npm包完全一致
npm版本控制缺陷帶來的嚴重問題(https://blog.csdn.net/qiansg123/article/details/80129453)
4.優化的輸出信息
npm5改進:
1.引入了package-lock.json,默認會被添加到項目,增強了版本控制
2.提升了安裝速度,還是稍慢於yarn,引入了離線緩存
3.優化輸出信息
Yarn工作流、對應命令上npm的差別:
1.創建一個新項目
初始化
npm init yarn init
2.添加/更新/刪除依賴項
添加(使用package@version指定版本號 global指定全局安裝)
加入生產依賴 npm i [package] -S (-g) yarn (global) add [package]@[version]
加入開發依賴(打包時忽略) npm i [package] -D yarn add [package]@[version] --dev
更新
查詢過期版本
npm outdated [package] yarn outdated [package]
npm outdated yarn outdated
更新版本
yarn upgrade [package]@[version]
卸載
npm uninstall [package] yarn remove [package]
重新安裝所有依賴
rm -rf node_modules&&npm install yarn upgrade
3.安裝/重新安裝依賴項
初始化安裝
npm install yarn install
4.運行腳本
yarn run [script] [<args>]
5.使用版本管理工具
6.持續集成
總結:
在yarn這位攪局者的出現,npm終於給了一次力,npm5和yarn區別已經不大,況且,yarn更新慢,對npm參數支持有限,目前推薦用yarn來管理版本,npm來跑命令
