pnpm 是一个快速、节省磁盘空间的软件包管理器。它使用一个内容可寻址的文件系统来存储磁盘上所有模块目录的所有文件。当使用 npm 或 Yarn 时,如果你有 100 个使用 lodash 的项目,你将在磁盘上有 100 份 lodash 的拷贝,而使用 pnpm 时,lodash 将被存储在一个内容可寻址的存储器中。
pnpm 8.6 正式发布,更新内容如下:
改动
-
一些设置会影响 lockfile 的结构,所以如果这些设置发生变化,我们不能重复使用 lockfile。因此,我们需要在锁文件中存储这些设置。这样我们就能知道锁文件是在哪些设置下创建的。
现在在锁文件中会出现一个新的字段:
settings
。它将存储两个设置的值:autoInstallPeers
和excludeLinksFromLockfile
。如果有人试图执行frozen-lockfile
的安装,而他们的活动设置与锁文件中的设置不匹配,那么就会有一个错误信息被抛出。 -
现在支持一个新的设置 ——
exclude-links-from-lockfile
)。启用后,本地链接的依赖关系的指定器不会在锁文件中重复出现。
补丁
- 在完成所有锁文件检查之前,不要打印 "Lockfile is up-to-date" 消息
- 更新依赖关系时,保留别名依赖关系中的范围前缀。所以
npm:[email protected]
变成npm:[email protected]
- 当
workspace:
协议引用的项目在工作区中没有找到时,打印一个有意义的错误 - 当
node-linker
设置为hoisted
且有跳过的可选依赖项时,pnpm rebuild
不应失败 - 当链接进来的依赖解决了一个对等的依赖时,对等的解决不应失败。
- 以正确的顺序构建工作区中的项目
更多详情可查看:https://github.com/pnpm/pnpm/releases/tag/v8.6.0