Angular v9升级v10报错:无法找到tsconfig文件、无法添加@Injectable装饰器
Angular v9升级v10 tsconfig找不到报错解决方案
你遇到的Migration failed: Could not find any tsconfig file报错,是Angular v10版本自带的@Injectable自动迁移脚本无法识别到项目tsconfig文件导致的,可按以下优先级尝试解决方案:
- 手动指定tsconfig路径执行升级命令
执行升级命令时增加--tsconfig参数指向你项目实际的tsconfig文件路径,库项目一般指向对应库目录下的tsconfig.lib.json即可:ng update @angular/core@10 @angular/cli@10 --tsconfig ./projects/你的库名称/tsconfig.lib.json - 临时补充根目录tsconfig文件
如果指定路径后仍然报错,可在项目根目录临时创建一个tsconfig.json文件,覆盖所有源码路径即可:
升级完成后如果该文件不影响现有构建逻辑可以保留,不需要的话直接删除即可。{ "compilerOptions": { "target": "es2015", "module": "esnext", "lib": ["es2018", "dom"] }, "include": ["projects/**/*.ts", "src/**/*.ts"] } - 跳过@Injectable迁移脚本
如果你已经确认项目内所有provider都已经添加了@Injectable()装饰器,无需脚本自动补全,可以直接跳过该迁移步骤:ng update @angular/core@10 @angular/cli@10 --migrate-only --exclude migration-injectable
如果是monorepo多项目结构,建议先升级根目录的Angular依赖,再逐一对每个子项目执行迁移命令,分别指定对应子项目的tsconfig路径即可。
内容的提问来源于stack exchange,提问作者Gourav Pokharkar
相关产品推荐
相关产品推荐

