转转的 CI 系统和开发环境为什么要从 npm 切换到 pnpm 呢。因为在使用 npm 的时候,遇到几个问题。
磁盘空间占用过大
首次安装速度慢
幽灵依赖导致一些报错
那 pnpm 又是怎么解决上面的问题呢?
什么是 pnpm
pnpm 是新一代包管理工具,为什么叫 pnpm 呢,是因为 pnpm 作者对现有的包管理工具,尤其是 npm 和 yarn 的性能特别失望,所以起名叫做 performance npm,即 pnpm(高性能 npm)
我们今天要使用 pnpm,那 pnpm 有哪些优势呢
1、npm 的问题
在 npm@3 之前,node_modules 结构是干净、可预测的,因为 node_modules 中的每个依赖项都有自己的 node_modules 文件夹,在 package.json 中指定了所有依赖项,比如项目 a 依赖项目 b,项目 c 也依赖项目 b,这样如果 a 和 c 依赖的 b 的版本不一致,也不会出问题
node_modules
└─ a