安装class-validator等包时出现@angular-devkit引擎不兼容错误如何解决?
问题说明
你收到的是npm引擎版本兼容警告,不属于致命错误,实际执行安装命令后class-validator、class-transformer大概率已经安装完成,可以直接正常使用。该警告的触发原因是你项目中@angular-devkit/*12.2.10版本的依赖明确限制仅支持npm 6.11+、npm 7.5.6+版本,和你本地的npm 8.0.0版本不匹配,Angular官方已在2021年10月发布的12.2.11及后续版本修复了该兼容问题。
解决方案(按推荐优先级排序)
- 方案1:升级兼容依赖(一劳永逸)
执行命令升级@angular-devkit相关包到已修复兼容问题的版本:
升级完成后再执行原安装命令即可消除警告:npm install @angular-devkit/core@latest @angular-devkit/schematics@latest @angular-devkit/schematics-cli@latest --save-devnpm i class-validator class-transformer - 方案2:临时忽略引擎检查
不需要修改现有依赖,直接在安装命令后加参数即可:
该配置仅对本次安装生效,不会修改项目的任何配置。npm i class-validator class-transformer --ignore-engines - 方案3:项目全局关闭引擎校验
在项目根目录新建.npmrc文件,添加如下内容:
配置完成后所有npm操作都会自动忽略引擎版本校验,不需要每次手动加参数。engine-strict=false - 方案4:降级全局npm版本(不推荐,会影响所有项目的npm环境)
执行命令将全局npm降级到符合要求的7.x版本:npm install -g npm@7
内容的提问来源于stack exchange,提问作者Ambassador Kosh
相关产品推荐
相关产品推荐

