如何通过NPM的overrides完全替换依赖包?node-sass换sass遇阻
关于npm overrides替换node-sass为sass的正确配置方式
npm 8.x的overrides确实支持替换依赖树中的包,但你用的语法不对,导致报错。
你之前的错误在于把sass的包名/版本直接赋值给node-sass,npm会把它当成node-sass的版本号去解析,自然找不到匹配的版本或者格式错误。正确的做法是使用package字段指定要替换的目标包:
正确配置示例:
"overrides": { "node-sass": { "package": "sass@^1.3.0" } }
如果需要针对特定路径的依赖做替换,可以用嵌套的. 字段(不过大多数场景下上面的简洁写法就够了):
"overrides": { "node-sass": { ".": { "package": "sass@^1.3.0" } } }
配置完成后,删除node_modules和package-lock.json,重新执行npm install就能生效了。
内容的提问来源于stack exchange,提问作者Stephen Watkins
相关产品推荐
相关产品推荐

