Ionic Angular应用生成服务时提示keyword id不支持错误如何解决
问题根因
报错由@ionic/angular-toolkit版本与Angular 14.x不兼容直接导致:Angular CLI 14.0+升级了内置JSON Schema校验规则,强制要求Schema文件用$id字段声明Schema ID,不再支持旧版id关键字;9.0.0以下版本的@ionic/angular-toolkit内置Schema文件仍在使用废弃的id字段,纯Angular项目没有引入这个Ionic专属构建工具包,因此不会触发报错。
无论执行ng generate还是ionic generate,底层都会调用项目本地安装的@ionic/angular-toolkit逻辑,因此切换生成指令无法解决问题;随意升降Angular版本会打破Ionic项目预设的依赖匹配关系,反而触发更多依赖冲突。
修复步骤
- 第一步:安装适配Angular 14的工具包版本,在项目根目录执行命令:
npm install @ionic/angular-toolkit@9.0.0 --save-dev
- 第二步:清理旧依赖残留,避免版本缓存导致修复不生效:
- Mac/Linux系统依次执行:
rm -rf node_modules package-lock.json npm install- Windows系统手动删除项目根目录下的
node_modules文件夹、package-lock.json文件后,执行npm install完成依赖重装。
- 第三步:验证修复效果,执行服务生成命令测试:
ng g s [你的服务名称]
命令可正常运行,不会再抛出Schema ID相关错误。
内容的提问来源于stack exchange,提问作者user19504396
相关产品推荐
相关产品推荐

