JHipster生成应用执行yarn e2e报错:Command "e2e" not found
遇到这个报错,大概率是你的JHipster应用里缺少对应的脚本配置或依赖,下面是几个常见的排查方向:
package.json中没有配置e2e脚本
JHipster默认会在生成应用时添加e2e相关的npm脚本,但如果生成过程出错或者后续被误删,就会出现这个问题。你可以打开项目根目录下的package.json,查看scripts区块里有没有类似这样的配置:"scripts": { // ...其他脚本 "e2e": "protractor src/test/javascript/protractor.conf.js" }如果没有,要么重新运行JHipster生成器恢复配置,要么手动添加上述脚本(路径根据你的项目结构调整)。
Protractor及相关依赖未安装
即使脚本存在,如果依赖没装全,Yarn也无法执行命令。先尝试在项目根目录运行:yarn install重新安装所有依赖。如果还是不行,可以手动安装Protractor和webdriver-manager:
yarn add --dev protractor webdriver-manager安装完成后记得初始化webdriver:
yarn run webdriver-manager updateJHipster版本或生成选项差异
较新的JHipster版本可能默认使用Cypress作为E2E测试框架,而不是Protractor。这时候你需要检查package.json的scripts里有没有e2e:cypress这样的命令,尝试运行:yarn e2e:cypress如果这个命令能正常执行,说明你的项目用的是Cypress而非Protractor,自然找不到
e2e命令。当前工作目录错误
确认你是在JHipster生成的应用根目录下运行命令——也就是包含package.json文件的那个文件夹。如果在子目录里,Yarn找不到对应的脚本配置,就会报错。Yarn缓存或环境异常
有时候Yarn的缓存会导致奇怪的问题,试试清除缓存后重新安装依赖:yarn cache clean yarn install另外,也可以检查你的Yarn版本是否过旧,尝试升级到最新稳定版:
yarn set version stable
内容的提问来源于stack exchange,提问作者Rohr Facu

