强制嵌套npm依赖用同版本TypeScript时遇Debug Failure错误求助
依赖冲突问题:Prettier升级后TypeScript版本不兼容
问题场景
更新Prettier版本后,出现因低版本TypeScript引发的报错。当前项目依赖冲突情况如下:
- React 依赖 TypeScript@4.7.4
- Other-library 依赖 webpack-dev-server,而 webpack-dev-server 依赖 TypeScript@3.8.2
- Prettier 要求 TypeScript 版本需为 4.x 及以上
矛盾点在于:Prettier 需要 TypeScript 4+,但 webpack-dev-server 依赖的旧版TS拉低了整体版本,导致程序报错。且无法修改 Other-library 的版本,必须保留使用 TypeScript 4.x 版本。
尝试方案及新报错
尝试通过在 package.json 中使用 overrides 属性强制嵌套依赖使用项目根版本的 TypeScript,配置如下:
{ "devDependencies": { "typescript": "^4.7.4" }, "overrides": { "webpack-dev-server": { "typescript": "$typescript" } } }
配置后 React 已正常使用 TypeScript@4.7.4,但出现新的报错:
Child process failed to process the request: Error: Debug Failure. False expression. at resolveNamesWithLocalCache, at typescript/lib
内容的提问来源于stack exchange,提问作者Xinrui Ma
相关产品推荐
相关产品推荐

