Codelyzer依赖Angular9,Angular10环境yarn安装报错如何解决?
解决方案
1. 适配Angular 10的codelyzer版本
你当前使用的codelyzer@6.0.2仅支持Angular 9.x版本,适配Angular 10需要升级到codelyzer@^6.1.0,该版本正式兼容Angular 10、11的核心依赖范围,直接执行以下命令安装即可:
yarn add codelyzer@^6.1.0 -D
2. npm和yarn安装表现差异的原因
npm v6及更早版本默认会弱化peer依赖校验,即使版本不匹配也会跳过强制拦截完成安装,仅输出警告;而yarn默认开启严格的peer依赖校验,只要依赖声明的版本范围不匹配就会抛出错误终止安装,这就是两个包管理器表现不一致的核心原因。
3. 长期替代方案
codelyzer已经停止维护,且其依赖的TSLint也早已正式废弃,Angular官方目前推荐使用@angular-eslint套件作为替代方案,该套件完全覆盖codelyzer的Angular代码规范校验功能,原生适配Angular 10及以上所有版本,不会出现peer依赖冲突问题,也能支持后续Angular版本的迭代升级。
临时兼容方案
如果暂时不需要升级codelyzer或者迁移校验工具,可以在执行yarn安装命令时添加参数跳过peer依赖校验:
yarn install --ignore-peer-deps
注意:该方案仅作临时处理,长期使用可能存在隐藏的功能兼容风险。
内容的提问来源于stack exchange,提问作者Camillo
相关产品推荐
相关产品推荐

