You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
在 npm v2 時代,安裝時會以一個 package 為單位,每個 package 即是一個 folder,這樣的問題就在於如果 A package 與 B package 同時依賴 C,這樣 C 就會同時被安裝兩份在 A 與 B folder 下,而造成 node_modules 的肥大與過度重覆模組。
新世代的包管理 yarn
NPM
大家都知道現在 Node 上最盛行的 Packages Manage 工具是 NPM,當裝好 Node 後,
npm
就預裝好了,當你做任何有關 package 指令的時候都離不開它。NPM 的不足
在 npm v2 時代,安裝時會以一個 package 為單位,每個 package 即是一個 folder,這樣的問題就在於如果
A
package 與B
package 同時依賴C
,這樣C
就會同時被安裝兩份在A
與B
folder 下,而造成node_modules
的肥大與過度重覆模組。npm v3 試圖要解決這個問題,把所有安裝的包都扁平化在
node_modules
下了,如果依賴同樣版本的 package,就不會造成重覆安裝。解決了重覆性的問題之後,一切都很美好嗎?npm v3 最令人垢病的是安裝速度,因為安裝實在太久了,每次npm install
一下,開發人員就只能去上廁所,這點真的是硬傷,嚴重影響開發效率,DevOps 在部署上也是幹聲連連。明日之(救)星 yarn
先看一段 yarn 官網 上的標語:
再來看看貢獻者大神們:
https://github.com/yarnpkg
這陣容不紅有天理嗎?數據會說話,yarn 一推出立即衝上 GitHub Trend 榜第一,狠甩第二名好幾條街阿
yarn 實測
當然光說不練是不行的,底下拿了我們的專案 OWL-UI 來實測,
可以看到 package.json 我們 Dependencies 不少,用 npm 安裝至少要 5 分鐘 以上。
初始安裝,無
yarn.lock
(cache) 的情況下:在有
yarn.lock
(cache) 的情況下,可再加快一倍:整整快了十倍以上,開始用
yarn
吧,解放開發效率,拯救部署,大家提早下班✨The text was updated successfully, but these errors were encountered: