You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制Cypress Schematic安装指定版本的Cypress?

强制ng add @cypress/schematic安装指定版本Cypress的方法

默认执行ng add @cypress/schematic会拉取最新版Cypress,由于Cypress 10+存在大量破坏性变更、Cucumber适配资料不全,需要固定安装9.x版本同时保留schematic对Angular CLI命令的接管能力(比如替换ng e2e默认的Protractor配置),可按以下方案操作:

方案一:直接通过schematic参数指定版本(推荐)

@cypress/schematic的add命令原生支持传入Cypress版本参数,执行命令时直接指定需要的9.x版本即可,该命令会自动完成Angular配置修改、命令接管、指定版本依赖安装全流程:

ng add @cypress/schematic --cypressVersion 9.7.0

执行完成后做两项校验:

  • 检查package.json的devDependencies字段,确认cypress版本为9.x系列
  • 检查angular.json中e2e构建器配置,确认builder值为@cypress/schematic:cypress,此时执行ng e2e会直接启动Cypress,不会再触发Protractor。

方案二:跳过依赖安装后手动装指定版本(参数不生效时的兜底方案)

如果传参后版本拉取不符合预期,可以先让schematic完成配置写入,再手动安装对应版本Cypress:

  1. 执行带跳过安装参数的add命令,这一步只会完成angular.json配置修改、Cypress目录初始化、npm脚本注入,不会安装npm依赖:
ng add @cypress/schematic --skip-install
  1. 确认angular.json中的e2e builder已经替换为Cypress对应的构建器后,手动安装指定版本的Cypress:
npm install --save-dev cypress@9.x.x

注意:不要先手动安装Cypress再执行ng add @cypress/schematic,这种操作顺序下schematic不会自动替换ng e2e的构建器配置,会导致e2e命令依旧被Protractor接管。


内容的提问来源于stack exchange,提问作者Kyle Vassella

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 16:45:50