将一个项目的前端框架从 angular 12 迁移至 angular 19,在迁移过程中忘了在迁移到 angular 15 或者 angular 16 时进行 mdc-migration 操作,详见 Migrating to MDC-based Angular Material Components
现在想亡羊补牢,尝试通过下面的方法进行迁移
npm i @angular/material@15.2.0 --legacy-peer-deps
ng generate @angular/material:mdc-migration
执行 mdc-migration 时报错
Schematic input does not validate against the Schema: {"directory":false}
Errors:
Data path "/directory" must be string.
请问有 没有办法解决这个迁移问题?
通过 angular.json 开头的 schema.json
路径,猜测问题应该与 angular/cli
的版本有关
"$schema": "./node_modules/@angular/cli/lib/config/schema.json"
于是降级 angular/cli
npm i @angular/cli@15.2.0 --legacy-peer-deps
降级后,mdc-migration 可以执行了