pnpm 8.0 发布,软件包管理器

pnpm 是一个快速、节省磁盘空间的软件包管理器。它使用一个内容可寻址的文件系统来存储磁盘上所有模块目录的所有文件。当使用 npm 或 Yarn 时,如果你有 100 个使用 lodash 的项目,你将在磁盘上有 100 份 lodash 的拷贝,而使用 pnpm 时,lodash 将被存储在一个内容可寻址的存储器中。

pnpm 8.0 正式发布,更新内容如下:

主要变化

  • 停止支持 Node.js 14
  • 配置更新
    • auto-install-peers: 默认启用
    • dedupe-peer-dependents: 默认启用。
    • resolve-peers-from-workspace-root: 默认启用。
    • save-workspace-protocol: 默认设置为rolling
    • resolution-mode: 默认设置为lowest-direct
    • publishConfig.linkDirectory: 默认启用。
  • Lockfile 的修改
    • Lockfile v6 被采用。这个新的格式通过移除软件包 ID 中的哈希值,提高了 Lockfile 的可读性。它还对 importers 部分的字段进行了一些重新安排。新的pnpm-lock.yaml文件更能抵抗 git merge 冲突
    • 注册表字段从pnpm-lock.yaml中的resolution对象中被删除。
    • 即使对于没有依赖关系的项目,也会生成一个 Lockfile。
  • 其他变化
    • package.json中有files字段时,只有列在其中的文件才会被部署。同样的逻辑也适用于注入软件包。这种行为可以通过将[deploy-all-files](<https://pnpm.io/8.x/npmrc#deploy-all-files>)设置为true来改变
    • 直接的依赖关系会被删除。如果一个依赖项同时存在于项目和工作区根目录中,它将只被链接到工作区根目录。
  • pnpm v7 支持
    • 之后 pnpm v7 可能不会获得任何新功能,但它将继续获得几个月的错误修复和至少一年的漏洞修复。

更多详情可查看:https://github.com/pnpm/pnpm/releases/tag/v8.0.0

猜你喜欢

转载自www.oschina.net/news/234492/pnpm-8-0-released
今日推荐