天天看点

新一代包管理工具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
           

结束语

继续阅读