安装@nestjs/cli时出现ETARGET报错找不到@angular-devkit/core对应版本怎么办
报错原因
- 当前使用的npm镜像源未同步
@angular-devkit/core@12.2.10版本:你核查的版本存在是对应npm官方源的状态,如果本地配置了第三方镜像(如淘宝旧镜像、企业内部私有源),对应源没有及时同步该版本就会触发找不到的报错。 - 本地npm缓存损坏:缓存中残留了旧的版本索引记录,导致安装时直接读取缓存的错误结果,跳过了向源请求最新版本列表的步骤。
- npm 7的依赖解析冲突:你本地全局已安装
@angular/cli@12.2.7,该版本依赖的@angular-devkit/core为12.2.7版本,和@nestjs/cli要求的12.2.10版本存在范围冲突,npm 7的依赖解析规则更严格,默认会阻止版本不匹配的依赖安装。
解决步骤
- 切换npm源到官方源,确保可以拉取到对应版本的包:
npm config set registry https://registry.npmjs.org/
- 清理本地npm缓存,清除残留的错误索引:
npm cache clean --force
- 强制安装
@nestjs/cli,跳过版本冲突检查:
npm i -g @nestjs/cli --force
- 若上述步骤仍报错,可先临时卸载全局
@angular/cli,安装完成后再装回原版本:
# 卸载现有angular cli npm uninstall -g @angular/cli # 安装nestjs cli npm i -g @nestjs/cli # 按需装回原版本angular cli npm i -g @angular/cli@12.2.7
- 备选方案:使用yarn执行全局安装,避免npm 7的依赖解析问题:
yarn global add @nestjs/cli
内容的提问来源于stack exchange,提问作者Deiby
相关产品推荐
相关产品推荐

