Playwright 'test'命令无法识别:VSCode扩展可运行命令行报错
问题原因及解决办法
核心问题
你运行的npx playwright test调用的是全局安装的playwright核心包,这个包本身没有test命令;而VS Code扩展能正常运行,是因为它直接调用了你本地项目node_modules里的@playwright/test包(带测试功能的专用包),两者不是同一个东西。
具体原因及对应解决方法
全局
playwright包冲突
如果你之前全局安装过playwright包,npx会优先调用全局版本,而不是本地的@playwright/test。
解决:- 卸载全局的
playwright:npm uninstall -g playwright - 之后直接运行
npx playwright test就会自动调用本地的@playwright/test,或者更稳妥的写法:npx @playwright/test test
- 卸载全局的
建议配置scripts命令(更省心)
在package.json的scripts里添加测试命令,这样npm会自动使用本地依赖:
修改后的package.json:{ "name": "playwright", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "playwright test" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@playwright/test": "^1.27.1" } }之后运行:
npm run test本地依赖未正确安装(概率较低)
虽然扩展能运行,但如果node_modules有损坏,也可能导致命令行调用失败。
解决:删除node_modules和package-lock.json,重新安装依赖:rm -rf node_modules package-lock.json npm install
内容的提问来源于stack exchange,提问作者Seva
相关产品推荐
相关产品推荐

