package.json 中的 npm "overrides" 和 Yarn "resolutions"。两者都用于指定_元依赖_(即你依赖的依赖)的版本范围。
package.json
package.json 中指定的范围安装所有依赖和元依赖的最新版本。假设你的项目有一个依赖 foo,而 foo 又依赖于 bar。这使得 bar 成为你项目的一个_元依赖_。
package.json
bun install 时,Bun 会安装每个包的最新版本。
tree layout of node_modules
bar@4.5.6 中引入了安全漏洞,你可能希望将 bar 固定到没有该漏洞的旧版本。这就是 "overrides" 和 "resolutions" 的作用。
`“overrides""
将bar 添加到 package.json 的 "overrides" 字段中。Bun 在确定要安装的 bar 版本时(无论是依赖还是元依赖),会优先使用指定的版本范围。
Bun 只支持顶层的
"overrides",不支持嵌套 overrides。package.json
"resolutions"
"resolutions" 是 Yarn 对 "overrides" 的替代方案,语法类似。Bun 支持它以便更轻松地从 Yarn 迁移。
与 "overrides" 一样,不支持_嵌套 resolutions_。
package.json