Windows下运行npm test报错node_modules不是内部或外部命令怎么解决
Windows下执行npm test报node_modules不是可执行程序的解决方案
优先排查项
- 检查package.json的scripts配置
正常npm执行脚本时会自动将项目内node_modules/.bin加入临时环境变量,不需要手动写node_modules前缀。错误配置示例:
正确写法直接调用你安装的测试工具名即可,比如用jest的场景:// 错误写法:直接写了node_modules路径但没指定具体可执行文件 "test": "node_modules""test": "jest" - 检查测试依赖是否本地安装
测试框架(jest/mocha/vitest等)必须安装在项目本地devDependencies中,仅全局安装不会被项目识别,执行以下命令验证安装状态,将命令中的jest替换为你实际用的测试工具名:
如果返回空或者报错,执行安装命令即可:npm ls jestnpm install jest --save-dev
Windows系统适配方案
如果确认配置和依赖都没问题,还是报错,可以用以下两种兼容方案:
- 使用npx调用本地工具,自动适配路径:
"test": "npx jest" - 显式指定Windows下的可执行文件路径,注意用反斜杠作为分隔符:
"test": ".\\node_modules\\.bin\\jest"
其他异常报错排查
你之前添加node命令后报错,大概率是没有指定到工具的实际入口js文件,正确的node调用写法示例:
"test": "node ./node_modules/jest/bin/jest.js"
需要补充的定位信息
如果按照以上步骤操作后仍未解决,请提供以下信息:
- package.json中完整的scripts、devDependencies字段内容
- 修改脚本后的完整报错文本
- 你使用的测试框架名称
内容的提问来源于stack exchange,提问作者hellobird11
相关产品推荐
相关产品推荐

