Angular8升级到Angular9时提示@angular/core不是依赖项如何解决
报错原因
- 执行升级命令的目录错误:没有在项目根目录(即包含
package.json文件的目录)下运行ng update,Angular CLI无法读取项目依赖配置,因此识别到0个依赖,找不到@angular/core声明 package.json文件异常:文件缺失、损坏,或者dependencies字段下未正常声明@angular/core依赖,可能是之前的依赖安装失败、手动修改配置出错导致- 全局Angular CLI版本不兼容:当前全局安装的CLI版本与项目待升级的9.x版本差异过大,导致依赖识别逻辑异常
处理方案
- 确认命令执行路径正确
切换到项目根目录,执行ls(macOS/Linux)或dir(Windows)命令,确认目录下存在有效的package.json文件后再执行升级操作 - 修复项目依赖声明
先执行npm install安装现有声明的所有依赖,检查package.json的dependencies字段,确认存在@angular/core、@angular/cli的8.x版本声明,如果缺失可以先手动补全对应8.x版本的配置后重新安装依赖 - 统一CLI版本
全局安装Angular 9对应的CLI版本,避免版本兼容问题:npm install -g @angular/cli@9 - 重新执行升级命令
运行原升级命令即可:ng update @angular/core@9 @angular/cli@9 --force - 备选方案:如果上述操作仍报错,可以手动修改
package.json中所有Angular相关依赖的版本号为9.x稳定版,之后执行npm install --force直接完成依赖升级
内容的提问来源于stack exchange,提问作者Ashutosh Jha
相关产品推荐
相关产品推荐

