惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Security Affairs
PCI Perspectives
PCI Perspectives
Google Online Security Blog
Google Online Security Blog
W
WeLiveSecurity
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Privacy & Cybersecurity Law Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Cyberwarzone
Cyberwarzone
L
Lohrmann on Cybersecurity
TaoSecurity Blog
TaoSecurity Blog
V
Visual Studio Blog
博客园 - 聂微东
Scott Helme
Scott Helme
博客园 - 【当耐特】
K
Kaspersky official blog
Security Latest
Security Latest
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
MyScale Blog
MyScale Blog
Schneier on Security
Schneier on Security
WordPress大学
WordPress大学
博客园 - 叶小钗
C
Check Point Blog
V2EX - 技术
V2EX - 技术
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
T
Tor Project blog
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
雷峰网
雷峰网
博客园_首页
美团技术团队
Y
Y Combinator Blog
C
CERT Recently Published Vulnerability Notes
AWS News Blog
AWS News Blog
月光博客
月光博客
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
C
Cybersecurity and Infrastructure Security Agency CISA

pnpm Blog

pnpm 11.9 pnpm 11.8 pnpm 11.7 Why pnpm no longer expands environment variables in a repository's .npmrc pnpm 11.6 pnpm 11.5 pnpm 11.4 pnpm 11.2 pnpm 11.1 pnpm 11.0 pnpm 10.32 pnpm 10.31 pnpm 10.30 pnpm 10.29 pnpm 10.28 pnpm 10.27 🚀 2025年的 pnpm pnpm 10.26 pnpm 10.25 我们如何保护新闻编辑部免受npm供应链攻击 pnpm 10.24 pnpm 10.23 pnpm 10.22 pnpm 10.21 pnpm 10.20
pnpm 11.3
Zoltan Kochan · 2026-05-24 · via pnpm Blog

pnpm 11.3 新增了对 npm 分阶段发布功能(pnpm stage)的支持;引入了全新的 trustLockfile 设置,用于跳过对已受信任的锁文件进行的供应链验证环节;此外,还提供了 pnpm pkgpnpm repopnpm set-script 命令的原生实现。 此外,它为 packpublish 命令新增了 --skip-manifest-obfuscation 标志,并降低了在大型工作区中执行 minimumReleaseAgetrustPolicy 验证时的内存占用。

次要更改

pnpm stage

全新的 pnpm stage 命令将 npm 的 分阶段发布 工作流引入了 pnpm。 分阶段发布功能允许你发布一个默认对 npm install 隐藏的版本,直至你明确予以批准——这对于验证发布产物、对 CI 进行烟雾测试,或协调多包发布流程都非常有用。

可用的子命令有:

pnpm stage publish    # 发布一个版本至暂存区
pnpm stage list # 列出暂存区中的版本
pnpm stage view # 查看暂存区中的版本
pnpm stage approve # 将暂存版本提升至注册源
pnpm stage reject # 丢弃暂存版本
pnpm stage download # 下载暂存版本的 tarball 文件

trustLockfile

新增的 trustLockfile 设置用于控制 pnpm install 命令是否对已加载的锁文件中的每一个条目,重新执行 minimumReleaseAge / trustPolicy: 'no-downgrade' 检查。 当true时, 安装时将锁文件视为已经信任的文件,并跳过验证通过——对于每次提交都来自信任的作者的封闭源项目有用。 默认情况是 false,所以验证将保持默认状态。

pnpm-workspace.yaml 中设置它:

此版本还降低了验证过程本身的内存占用:此前,针对每一组“注册表+包名"的信任元数据缓存会保留完整的套件信息——包括依赖关系图、脚本、README 以及各版本的清单文件——并将其贯穿整个安装过程。 在大型工作区(包含约 4000 个锁文件条目,且启用了 minimumReleaseAgetrustPolicy: no-downgrade)中,这可能导致堆内存上限为 2 GB 的 CI 运行器因内存不足而崩溃。 缓存现在仅存储信任检查实际读取的字段(即 time、各版本的 _npmUser.trustedPublisher 以及 dist.attestations.provenance);“精简元数据”缓存也进行了类似的裁剪,仅保留包级别的 modified 字段以及当前列出的版本名称集合。 修复 #11860

原生的 pnpm pkg, pnpm repopnpm set-script

又有三个此前依赖 npm(或因缺失 npm 而无法使用)的命令,现已遵循 npm 命令惯例实现为原生命令:

  • pnpm pkg — 获取、设置或删除 package.json 中的字段。
  • pnpm repo — 在浏览器中打开包的仓库地址。
  • pnpm set-script (别名 ss) — 在项目清单文件的 scripts 字段中添加或更新条目。 支持 package.jsonpackage.json5package.yaml 格式。

针对 packpublish--skip-manifest-obfuscation

针对 pnpm packpnpm publish 新增了 --skip-manifest-obfuscation 标志;使用该标志后,打包或发布的清单文件将保留原始的 packageManager 字段和发布生命周期脚本,而不会将其移除。 pnpm 专用的 pnpm 字段继续被省略。

补丁更改

  • 修复了当已安装包的 CAS 槽位中缺少 package.json 时,pnpm dlx 报错 ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND 的问题。 在实际使用中观察到,当 GVS 插槽已填充,但缺少合成清单所要求的运行时归档时,会出现 pnpm dlx node@runtime:<version> 的情况。 当 slot 的清单无法读取时,dlx 现在会回退使用不带作用域的包名——对于单二进制文件包(这是 dlx 的常见使用场景,包括所有 runtime: 类型的规范),这与 manifest.bin 指定的名称相一致。
  • 修复了在启用 auto-install-peers 且依赖图中包含互为传递性对等依赖的包(例如 @aws-sdk/client-sts@aws-sdk/client-sso-oidc)时,pnpm dedupepnpm install 存在的非确定性行为。 在连续多次运行中,锁文件不再于两种同样有效的格式之间来回切换。 根本原因在于,resolveDependencies 在由 Promise.all 触发的回调函数内部向其 pkgAddressespostponedResolutionsQueue 数组中添加元素,导致任务完成的时序差异影响了数组的顺序,进而波及了后续的循环对等依赖后缀分配逻辑。 修复 #8155
  • 修复了一个回归问题:pnpm add <github-shorthand>(以及任何无法从用户提供的规范中解析出别名的依赖项,例如 tarball URL 或 pnpm/test-git-fetch#sha)在清单更新和 pendingBuilds 中被静默丢弃。
  • 修复了 pnpm add --config 导致 pnpm-lock.env.yaml 中残留孤立条目(即已更新配置依赖项的先前解析版本所包含的可选子依赖项)的问题。