pnpm 11.0 正式登场:安装起飞、安全拉满、彻底告别 npm 依赖

等了大半年,pnpm 11.0 终于正式发布了!

这一版根本不是小修小补,而是从底层到体验全重构

抛弃旧 JSON 索引、换上 SQLite、安装速度再上台阶;

默认加强供应链安全,新发包强制等 1 天再允许安装;

自带原生 publish,不再调用 npm CLI;

甚至连全局安装都彻底隔离,互不干扰......

再加上官方透露:Rust 重写的 Pacquet 已经重启开发。 很明显:pnpm 在下一盘大棋。

今天这篇,用最实在、最不绕弯的话,告诉你 pnpm 11 到底强在哪、升级要注意什么,看完你就知道该不该冲。

一、最狠升级:Store v11 + SQLite,安装真的快疯了

以前 pnpm 快,是因为硬链接、软链接玩得溜。 这次 v11 直接把存储引擎换了

  • 抛弃以前每个包一个 JSON 的索引
  • 换成单一 SQLite 数据库:index.db
  • 包信息、摘要、哈希直接存在库里
  • 减少大量系统调用、文件读取、重复解析

结果就是: 冷安装更快、热安装更快、monorepo 更快。 尤其是大项目、多包仓库,差距肉眼可见。

而且 95% 的包能跨 Node 版本、跨架构复用, 升级 Node 不用重新下一遍依赖。

二、安全默认更强:新包必须等 1 天才能装

pnpm 11 直接把供应链安全做成默认

  • minimumReleaseAge: 1440(默认 1 天)
  • blockExoticSubdeps: true(拦截怪异依赖)

意思很简单: 刚发布的包,必须等 24 小时才能被你安装。

防止 you-know-what 式投毒、抢发恶意包。 不想等也能关,但大多数公司和团队都会直接开着。

三、终于摆脱 npm:publish/login 全原生实现

以前 pnpm publish 本质是调用 npm CLI。 现在 全部重写原生实现,不依赖 npm 了:

  • publish
  • login / logout
  • view / deprecate / unpublish
  • dist-tag / version

包括 OTP 验证、二维码登录、交互提示全都自带。

环境变量也从 NPM_CONFIG_OTP 换成 PNPM_CONFIG_OTP, 更干净、更稳定、更少玄学报错。

四、全局安装彻底隔离:再也不会互相炸环境

这是老 pnpm 用户怨念最深的点: 全局包会互相冲突、版本打架、bin 错乱。

pnpm 11 直接解决:

  • 每个 pnpm add -g 都是独立目录
  • 自带独立 package.json、node_modules、lockfile
  • 互不干扰,不 hoist,不共享依赖
  • 全局 bin 统一放到 PNPM_HOME/bin

以后全局装什么都不怕炸环境了。

五、超实用新功能:pack-app / sbom / ci / clean

pnpm pack-app

把 Node 项目直接打成单可执行文件(SEA), 不用配置、不用插件,一行打包分发。

pnpm sbom

一键生成软件物料清单:CycloneDX / SPDX, 公司合规、安全扫描直接满足。

pnpm ci + pnpm clean

  • pnpm clean:一键删所有项目 node_modules
  • pnpm ci:clean + frozen-lockfile 一体

CI 脚本直接少写三行。

pnpm peers check

peerDependencies 问题一键检查, 不用再盯着红色警告瞎猜。

六、必须注意:破坏性变化(升级前看这一段就够)

  1. 要求 Node.js ≥22 不支持 18/19/20/21,CI 要先升 Node。

  2. 配置大改

    • .npmrc 只留认证和 registry
    • 其他配置搬到 pnpm-workspace.yaml 或全局 config.yaml
    • 环境变量从 npm_config_*pnpm_config_*
  3. 构建配置统一 旧的 onlyBuiltDependencies / neverBuiltDependencies 全部删掉 换成 allowBuilds

    yaml 复制代码
    allowBuilds:
      electron: true
      core-js: false
  4. audit 从 CVE 换成 GHSA ignoreCvesignoreGhsas

  5. 升级完必须执行

    bash 复制代码
    pnpm setup

七、重磅消息:Rust 重写的 Pacquet 重启了

文章最后官方放了个大料: 基于 Rust 重构的 Pacquet 项目重新启动开发。

意味着不远的将来: pnpm 将拥有 Rust 级别的速度、内存占用、启动性能。 现在的 pnpm 11 只是前奏。

总结一句实在话

pnpm 11.0 不是"新版本", 是下一代包管理器的正式定型

  • 更快(SQLite)
  • 更安全(默认供应链防护)
  • 更干净(原生 publish、纯 ESM)
  • 更稳(全局隔离、配置规范化)
  • 未来更强(Rust 重写归来)

老用户建议直接升; 还在用 npm / yarn 的,真的可以试试了。

快速升级

bash 复制代码
npm install -g pnpm@latest

升级完跑一遍:

bash 复制代码
pnpm setup

官方地址:pnpm.io/zh/blog/rel...

你项目现在用的是 pnpm 几?最期待 SQLite 加速还是全局隔离?评论区说一句


各位互联网搭子,要是这篇文章成功引起了你的注意,别犹豫,关注、点赞、评论、分享走一波,让我们把这份默契延续下去,一起在知识的海洋里乘风破浪!

相关推荐
PILIPALAPENG1 小时前
第4周 Day 1:智能体记忆系统——给 Agent 一个"大脑"
前端·人工智能·python
_风满楼1 小时前
TDD实战-会议室冲突检测的红绿重构循环
前端·javascript·算法
Rkgua1 小时前
JS中的惰性函数基本介绍
前端·javascript
客场消音器1 小时前
我用两周半 Vibe Coding 做了一个前额叶训练的微信小程序
前端·javascript·后端
铁皮饭盒2 小时前
成为AI全栈 - 第4课:Drizzle ORM SQLite Elysia 数据库实战
前端·后端
ascarl20102 小时前
Linux.do 帖子整理:AI 调用 Chrome DevTools 调试前端页面
linux·前端·人工智能
DanCheOo3 小时前
开源 | 我是怎么用 ai-memory 让 Cursor 每次开新对话都自动知道项目背景的
前端·人工智能·ai·ai编程
MPGWJPMTJT3 小时前
告别手动切换 Node 版本:从 nvm 迁移到 Volta
前端
Apifox3 小时前
Apifox 近期更新|AI Agent Debugger、A2A Debugger、Postman API 导入、Ask AI 侧边栏对话
前端·人工智能·后端