PNPM ,Fast, disk space efficient package manager.
推荐语: PNPM ,快速的,节省磁盘空间的包管理工具;相比于 npm 或 yarn ,pnpm 具有以下功能特色:
- 快速 :pnpm 比其他包管理器快 2 倍;
- 高效 :node_modules 中的文件链接自特定的内容寻址存储库;
- 支持 monorepos :pnpm 内置支持单仓多包;
- 到处工作 :支持 Windows、Linux 和 macOS;
- 严格 :pnpm 默认创建了一个非平铺的 node_modules,因此代码无法访问任意包;
- 确定性 :有一个名为
pnpm-lock.yaml
; - 实战考验 :自 2016 年以来, 各种规模 的团队都在生产中使用;
项目背景 :pnpm 使用内容可寻址文件系统,将所有模块目录中的所有文件,存储在磁盘上。使用 npm 或 Yarn 时,如果您有 100 个项目使用 lodash,那么磁盘上将有 100 个 lodash 副本。使用 pnpm,lodash 将存储在内容可寻址存储中,因此:
- 如果你依赖不同版本的 lodash,只有不同的文件才会被添加到 store。如果 lodash 有 100 个文件,并且新版本仅对其中一个文件进行了更改,
pnpm update
则只会将 1 个新文件添加到存储中。 - 所有文件都保存在磁盘上的一个位置。安装软件包时,它们的文件从该单个位置链接,不消耗额外的磁盘空间。使用硬链接或引用链接(写时复制)执行链接。
带来的结果是:您节省了数千兆字节的磁盘空间,并且安装速度大大加快!如果您想了解有关 node_modules
pnpm 创建的独特结构,以及它为何能在 Node.js 生态系统中正常工作的更多详细信息,请阅读文章: Flat node_modules is not the only way 。── 出自倾城之链 | Fast, disk space efficient package manager | pnpm。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于