#4433·lerna

Lerna v10 将大部分依赖项

作者: slorber创建于 2026年9月17日更新于 2026年9月17日
标签type: bug

□ 当前的行为

请检查access-date=中的日期值 (帮助) (https://GitHub.com/lerna/lerna/blob/main/packages/lerna/package.json):

贾森 { "从事":{ "@npmcli/arborist":"9.1.6","@". "@npmcli/package-json":"7.0.2","p". "@npmcli/run-script":"一0.0.3","p". "@nx/devkit":">=23.1.0 < 24.0.0",". "@octokit/plugin-incounter-rest":"6.0.1", (中文(简体) ). "@octokit/rest":"20.1.2","oc". "ci-info":" 4.3.1", (中文(简体) ). "cmd-shim":"6.0.3","6.0". "分栏":"一分六分". "常规变迁":"8.1.0", "常规-变格-方言":" 9.2.1",". "常规承诺-过滤器":"6.0.1", "常规承诺-parser":"7.1.2",". "常规-建议-弹出":" 12.1.0", "通鉴":" 9.0. "辨":"1.5.3","de". "envinfo":"7.13.0", (中文(简体) ). "执行":"5.0. "fs-extra":"^11.2.0","^". "git-url-parse":"14.0.0","ur". "手栏":"4.7.9",". "进口-地方":"3.1.0",". "("ini":"^1.3.8". "init-package-json":"8.2.2","age". "素问":" 12.9.6". "js-yaml":" 4.3.2","4.3". "libnpmaccess":"10.0.3", (中文(简体) ). "libnpmpublish":"11.1.2","lib". "载-json-file":"6.2.0",". "相去相去相去":"相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相相去相去相相去相去相去相去相去相去相去相去相去相去相去相去相相去相去相去相去相去相 "最小比分":"3.1.4", "npm-package-arg":"13.0.1","n". "npm-packlist":"10.0.3", (中文(简体) ). "npm-registry-fatch":"19.1.0","n". "nx":">=23.1.0 < 24.0.0",". "p-map":"4.0.0","0.0". "平按:"素问"作" 6.6.2". "帕科特":"21.5.1","pac". "读-cmd-shim":" 4.0.0,". "出":"七七"二". ""信出":"相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相 "史记":"十二. 0.",". "弦-微":"^ 4.2.3",". "塔尔":"7.5.22". "丁丑":"一作"0.2.12". "validate-npm-package-license":"3.0.4","n". "validate-npm-package-name":"6.0.2","6.0". "写-文件-原子":"5.0.1",". "亚尔格":"17.7.2" {\fn华文楷体\fs16\1cHE0E0E0} {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


多数依赖性被固定在一个准确的版本上,而大多数这些包极有可能尊重semver.

将这些依赖性固定在准确的版本上,对于`npm审计 ' 和类似的安全扫描仪来说是有问题的。

目前,在我们的Docusaurus monorepo中,报告的大多数脆弱性来自Lerna,因为这些依赖性被固定。 升级到最新版本的Lerna显然不会修复任何东西,唯一的工作变通就是使用软件包管理器覆盖.

即使这些审计通常会在代码上报告许多可能永远无法运行的虚假阳性问题,但这样标出依赖性并阻止用户清理npm审计仍然令人烦恼.

某天你的依赖性可能会有真正的阳性 如果在Lerna v9中有一个真正的正题,那么通过它的 semver 范围将过渡性依赖升级比将Lerna升级到 v10+ 更容易,将安全修补回往旧版本并不好玩.

我不确定这之前有没有讨论过, 但我不清楚为什么所有这些版本都被封了. 我建议采取相反的方法, 假设这些包 尊重semver,除非证明有其他, 并使用QQ 默认所有道具。


□ 预期行为

使用 semver QQ 范围而不是被绑定的版本

□ 相关
. . . . . . .