根据 NPM 官方文档,overridesinpackage.json允许用另一个包完全覆盖一个包:
覆盖提供了一种用另一个版本或完全另一个包替换依赖树中的包的方法。这些变化的范围可以根据需要具体或模糊。
https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
但是,我不知道如何用同一包的更改版本以外的任何内容替换包。
我正在尝试在传递依赖项中替换为node-sass,sass但我尝试过的配置都不起作用。
"overrides": {
"node-sass": "sass@^1.3.0"
}
"overrides": {
"node-sass": {
".": "sass@^1.3.0"
}
}
Run Code Online (Sandbox Code Playgroud)
上述任一配置都会产生以下 NPM 错误:
Invalid tag name "sass@^1.3.0": Tags may not have any characters that encodeURIComponent encodes.
Run Code Online (Sandbox Code Playgroud)
如果我尝试一些更基本的东西:
"overrides": {
"node-sass": "sass"
}
Run Code Online (Sandbox Code Playgroud)
NPM 错误:
No matching version found for node-sass@sass.
Run Code Online (Sandbox Code Playgroud)
我使用的是 NPM v8.3.1。
实际上是否可以将一个包完全替换为另一个包,或者我是否误解了文档中所写的内容?