pnpm 的 2021 年
今年即將結束,對 pnpm 來說是美好的一年,讓我們來看看今年的表現。
使用狀況
下載統計
我今年的目標是下載次數超越 Bower。我們在 11 月 達到了這個目標
pnpm 在 2021 年的下載次數比 2020 年多了約 3 倍
這些統計資料甚至沒有衡量安裝 pnpm 的所有不同方式!它們只衡量 pnpm npm 套件 的下載次數。今年我們還新增了 pnpm 的編譯二進制版本,它們的運送方式不同。
文件造訪量
我們使用 Google Analytics 從文件收集一些非個人化統計資料。在 2021 年,我們每週有時會有超過 2,000 位獨立訪客。
我們的大部分使用者來自美國和中國。
GitHub 星星
我們的 主要 GitHub 儲存庫 今年獲得超過 5,000 顆星星。
新使用者
我們今年最大的新使用者是 ByteDance(TikTok 背後的公司)。
此外,許多很棒的開源專案也開始使用 pnpm。有些專案轉換到 pnpm,是因為它對單一儲存庫有很好的支援
有些專案轉換是因為他們喜歡 pnpm 的高效、快速和美觀
功能亮點
新的鎖定檔格式(自 v6.0.0 起)
今年第一個也是最重要的變更之一是新的 pnpm-lock.yaml
格式。這是一個重大變更,因此我們必須發布 v6。但它很成功。舊的鎖定檔經常導致 Git 衝突。自從新格式推出以來,我們沒有收到任何有關 Git 衝突的抱怨。
管理 Node.js 版本(自 v6.12.0 起)
我們發布了一個新指令(pnpm env
),允許管理 Node.js 版本。因此,您可以使用 pnpm 取代 Node.js 版本管理員,例如 nvm 或 Volta。
此外,pnpm 是以獨立可執行檔發布的,因此即使系統上沒有預先安裝 Node.js,您也可以執行它。
注入本機相依性(自 v6.20.0 起)
您可以「注入」本機相依性。預設情況下,本機相依性會連結到 node_modules
,但透過這個新功能,您可以指示 pnpm 改為硬連結套件的檔案。
改善對等相依性問題的回報(自 v6.24.0 起)
對等相依性問題過去是以純文字列印,很難理解。現在它們全部被分組並以良好的階層結構列印出來。
競爭
Yarn
Yarn 在 v3.1 中新增了 pnpm 連結器。因此,Yarn 可以建立與 pnpm 所建立的相似的 node-modules 目錄結構。
此外,Yarn 團隊計畫實作內容可尋址儲存,以更有效率地使用磁碟空間。
npm
npm 團隊也決定採用 pnpm 使用的符號連結 node-modules 目錄結構(相關 RFC)。
其他
Bun 以 Zig 編寫,而 Volt 以 Rust 編寫,兩者都宣稱比 npm/Yarn/pnpm 更快。我尚未對這些新的套件管理員進行基準測試。
未來計畫
更快、更好、最佳。