pnpm 12.0 正式发布,这是该 Node.js 包管理器的一次重大架构升级,核心代码已完全使用 Rust 语言重写。此次更新并非简单的迁移,而是在保留原有命令、标志和锁文件格式的基础上,大幅提升了性能与可靠性。在性能方面,由于 Rust 的内存安全特性和底层优化,处理大型循环依赖工作区时,解析速度提升 2-3 倍,内存使用量减少约 25%,并生成了更小的锁文件。主要破坏性变更包括:Git 依赖项现在被视为身份标识,统一通过 HTTPS 解析;循环依赖图的锁定文件现在具备确定性,无论安装顺序如何都能生成字节级一致的锁文件。新增功能方面,引入了“项目感知全局二进制文件”,允许全局安装的 Node、Deno 或 Bun 自动跟随当前项目锁定的版本,无需 shell 钩子。此外,pnpm 现在还能托管并安装其他包管理器(如 npm、Yarn、Bun),并在运行前验证其签名。其他改进还包括注册表修订功能、pnpm init 默认锁定最新版本、以及批量发布审批等。此次发布标志着 pnpm 在构建效率和开发者体验上的显著进步。
事件分析
核心观点:Rust 重写架构不仅解决了性能瓶颈,更确立了 pnpm 作为现代高性能构建基础设施的新标准。
原文链接:Hacker News

评论前必须登录!
立即登录 注册