已开启
fix(install): Windows 影子报告缺 npx 自身 shim 豁免(!589 P1 修复未移植到 Windows 侧) #615
aflyingto创建于  10月4日
aflyingto成员
10月4日 创建

背景

  • 拆自 #610 第二节"建议修后再发"项,2026-10-04 决定不随 v0.15.0 release-prep PR 携带,单独跟踪;不阻塞 v0.15.0 发布(#610 判定"不修也可发布"——纯输出误导、开窗自愈)
  • !589 的 P1 修复(providerIsRunningPackage)只移植到 POSIX 影子图,Windows 侧未跟:npm/lib/install.js:783-786(windowsPathShadowing)缺 npx 自身 shim 豁免
  • 现象:文档主路径 npx -y atomgit-cli@latest install 在 Windows 上每个干净机器必现两条最重级别(scope="system")假告警,指向随 npx 退出即消失的缓存路径,"卸载旧提供者"建议无可执行性(沙箱已复现;e2e 直调 gc.js 不带 npx .bin 前置故 CI 测不到)

修复方向

  • 按 npm 布局推导包邻接 .bin 目录豁免(.cmd shim 不解析进包树,需 container 规则,参照 install-metadata.js:265-270)
  • e2e 补 npx 形态 PATH 覆盖,防止 CI 再测不到

验收标准

  • Windows 干净机器经 npx -y atomgit-cli@latest install 主路径安装,不再出现 npx 缓存路径的 system 级假告警
  • e2e 测试覆盖 npx 调用形态的 PATH 前置
  • POSIX 侧影子报告行为不回归(含 !589 已修复场景)

影响范围

npm/lib/install.js、npm/lib/install-metadata.js、相关 e2e 测试

likedislike
Aaflyingto成员
10月4日 添加了label:scope/install, status/triage,type/bug