启动项目遇TSC ERRNO 2错误,TypeScript类型定义报错求助
解决TSC ERRNO 2:@types/bluebird和@types/whatwg-url类型定义错误
以下是几个可行的解决方案,按从易到难的顺序推荐:
启用
skipLibCheck编译选项
这是最快捷的解决方式,TypeScript的skipLibCheck选项会跳过对所有第三方库类型定义文件的语法检查,直接绕过这类兼容性问题。修改tsconfig.json:{ "compilerOptions": { "skipLibCheck": true, // 保留你原有的其他编译配置 } }单独排除问题类型包的检查
如果你不想全局跳过库类型检查,可以在tsconfig.json的exclude字段中单独指定这两个包的路径,让TS忽略它们:{ "exclude": [ "node_modules", "node_modules/@types/bluebird", "node_modules/@types/whatwg-url" ] }锁定兼容的@types包版本
问题大概率是当前安装的@types包版本与你的TypeScript版本不兼容导致的。先卸载现有版本:npm uninstall @types/bluebird @types/whatwg-url然后安装与你的TS版本匹配的指定版本(示例版本需根据你的TS版本调整,可通过npm官网查询版本历史):
npm install @types/bluebird@3.5.36 @types/whatwg-url@8.2.2 --save-dev强制传递依赖的@types版本
如果这两个@types包是其他依赖间接引入的,用npm ls @types/bluebird和npm ls @types/whatwg-url查看来源,然后在package.json中用resolutions强制指定版本:{ "resolutions": { "@types/bluebird": "3.5.36", "@types/whatwg-url": "8.2.2" } }如果你使用npm,需要先安装
npm-force-resolutions并添加预处理脚本:npm install npm-force-resolutions --save-dev修改
package.json的scripts:{ "scripts": { "preinstall": "npx npm-force-resolutions" } }最后重新执行
npm install即可。
内容的提问来源于stack exchange,提问作者Muhammad Daffa Aryandaru
相关产品推荐
相关产品推荐

