天天看點

新一代包管理工具pnpm傳統包管理工具pnpm的厚積薄發pnpm的安裝結束語

作為前端來說,包管理太重要了,今天就來介紹下新一代包管理工具pnpm吧。讓我們更快、更高效的完成包安裝。

傳統包管理工具

pnpm出現以前,我們先後經曆了npm、yarn、cnpm的轉變。直至今日,也要承認無論哪一種工具都是經典,都能繼續為我們的項目提供正常服務。但是,這其中也有一些問題,需要被我們所注意。

npm自身是串行安裝,也就造成了安裝效率會慢些,并且安裝包顯示和設計上并無特别優化。實作上,它使用了扁平化node_module的方式。這造成了不确定性、幽靈依賴、依賴分身等問題。

yarn在npm的基礎上,改為并行安裝。是以,安裝效率更快。并且安裝包的現實和設計上也比較友好。但是緩存機制上、扁平滑并沒有改進。

cnpm則是鏡像源上的差別,實際上仍然是npm。

是以,我們需要新一代的管理工具,去優化上述仍然的存在的問題。

pnpm的厚積薄發

pnpm在總結了前面三個工具的基礎上,提出了新的解決方案。使的節省磁盤空間、安裝速度更快、以及非扁平化node_module目錄。

  • 節省磁暴空間:将pnpm安裝的依賴包被放在一個位置。這就防止了多個項目引用同一個依賴包,被多次安裝的情況。也正是這樣的設計,讓pnpm比npm、yarn在項目越多時,節省空間越大。
  • 安裝速度更快:統一存放的另一個好處,就是安裝會更快。因為之前10個項目三個相同依賴,要安裝三次。而現在隻需要安裝一次。
  • 非扁平化node_module:正是非扁平化使得不确定、幽靈依賴和依賴分身等問題得到完美解決。

pnpm的安裝

POSIX類系統中安裝

curl -fsSL https://get.pnpm.io/install.sh | sh -
           

Using Corepack

corepack enable
           

Homebrew 安裝

brew install pnpm
           

Scoop 安裝

scoop install nodejs-lts pnpm
           
npm install -g pnpm
           

結束語

繼續閱讀