运行sorry-cypress命令时提示无法检测到已安装的cypress模块怎么办?
报错原因
该报错是因为你直接运行了全局安装的cy2命令,全局cy2默认会检索全局环境下安装的Cypress,而你项目的Cypress是安装在本地node_modules目录下的,全局cy2无法读取到项目内的依赖,所以会抛出找不到Cypress的错误。
解决方案
方案1:直接调用本地依赖
执行命令时通过包管理器工具调用项目本地安装的cy2即可:
- 若你使用npm作为包管理器,执行以下命令:
CYPRESS_API_URL="http://localhost:1234/" npx cy2 run --parallel --record --key somekey --ci-build-id hello-cypress
- 若你使用yarn作为包管理器,执行以下命令:
CYPRESS_API_URL="http://localhost:1234/" yarn cy2 run --parallel --record --key somekey --ci-build-id hello-cypress
方案2:添加到项目脚本
可以将命令写入package.json的scripts字段,后续使用更便捷:
在你现有scripts配置中新增对应字段即可:
{ "scripts": { // 保留原有其他脚本不变,新增以下配置 "cy2:run": "CYPRESS_API_URL=\"http://localhost:1234/\" cy2 run --parallel --record --key somekey --ci-build-id hello-cypress" } }
配置完成后,直接执行npm run cy2:run或者yarn cy2:run即可启动任务。
如果以上操作完成后仍有报错,可以删除项目下的node_modules文件夹、package-lock.json或yarn.lock文件,再重新执行npm install或yarn install重装所有依赖即可。
内容的提问来源于stack exchange,提问作者Ashish Khokhariya
相关产品推荐
相关产品推荐

