Shopware 6插件Docker环境Cypress测试报错:node_modules未被识别
Shopware 6 Docker环境下Cypress启动报错解决办法
问题情况
测试Shopware 6插件时,在Docker化环境中配置Cypress进行测试,按官方指引操作后运行Cypress报错,提示node_modules不被识别为命令。先后尝试以下两个命令均失败:
CYPRESS_baseUrl=http://localhost:3000 npm run opennpm run open
已确认Node.js已安装,且当前处于package.json所在的正确目录。
解决办法
1. 先安装完整项目依赖
大概率是未安装项目依赖,先执行以下命令安装:
npm install
等待依赖安装完成后,重新运行Cypress启动命令。
2. 检查package.json的scripts配置
打开package.json,确认scripts字段中是否包含open命令,正确的Cypress配置示例如下:
{ "scripts": { "open": "cypress open" } }
如果没有该命令,手动添加后再执行npm run open。
3. 直接调用Cypress本地二进制文件
若上述方法无效,尝试直接运行Cypress的本地二进制文件:
- Linux/macOS环境:
./node_modules/.bin/cypress open --config baseUrl=http://localhost:3000
- Windows环境:
node_modules\.bin\cypress open --config baseUrl=http://localhost:3000
4. 检查Docker容器内的Node.js路径
如果是在Docker容器内执行命令,先确认Node.js和npm的路径是否正确,可通过以下命令查看路径:
which node which npm
确保环境变量配置正常,路径可被系统识别。
5. 清理缓存后重新安装依赖
若依赖安装存在损坏,执行以下命令清理缓存并重装:
npm cache clean --force rm -rf node_modules package-lock.json npm install
内容的提问来源于stack exchange,提问作者mlodhi
相关产品推荐
相关产品推荐

