核心报错
bash
TS2688: Cannot find type definition file for 'minimatch'.
The file is in the program because: Entry point for implicit type library 'minimatch'
运行环境
- 项目依赖
package.json
json
{
"devDependencies": {
webpack@4.41.6
typescript@4.2.3
clean-webpack-plugin@3.0.0、
swiper@5.4.5
...
}
}
- Node 版本:
16.17.1 - 隐式依赖:
minimatch@3.1.2 - 冲突类型版本:
@types/minimatch@6.0.0(clean-webpack-plugin隐式引入,版本过高)
错误定位
minimatch与其类型声明@types/minimatch版本不兼容,且低版本typescript无法解析高版本类型语法- 通过
npm list minimatch和npm list @types/minimatch可以隐式引入的来源和实际版本


@types/minimatch版本是6.0.0,minimatch版本是3.1.2
解决方案
锁定 @types/minimatch 版本
最终确认适配版本:@types/minimatch@5.1.2(兼顾 typescript@4.2.3 解析能力与 minimatch@3.1.2 本体兼容性)
修改 package.json,添加版本强制覆盖:
json
{
"devDependencies": { "@types/minimatch": "^5.1.2" }
}
或
json
{
"overrides": { "@types/minimatch": "^5.1.2" }
}