You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js API测试:npm run test-watch执行报错排查求助

解决nodemon执行npm test时提示“npm未被识别”的问题

嘿,我一眼就发现问题出在你的test-watch脚本的引号使用上啦!

问题根源

在Windows系统的默认终端(CMD或PowerShell)里,单引号'是不被识别为命令包裹符的。你的脚本里用了:

"test-watch": "nodemon --exec 'npm test'"

这会导致nodemon把'npm test'当成一个完整的、不存在的命令去执行,而不是调用npm并传入test参数,所以才会出现“'npm' 未被识别”的错误。

修复方案

把单引号换成转义后的双引号(因为JSON字符串本身用双引号包裹,内部双引号需要转义),修改后的package.json脚本如下:

"scripts": { 
  "test": "mocha server/**/*.test.js", 
  "test-watch": "nodemon --exec \"npm test\"" 
}

这个写法还能兼顾跨平台兼容——类Unix系统(Mac/Linux)的终端也支持双引号包裹命令,所以不管你用什么系统都能正常运行。

额外验证

修改完成后,重新运行npm run test-watch,nodemon应该就能正常启动并调用npm test脚本了。从你的报错信息看nodemon已经能正常启动,所以这个引号问题就是核心原因,调整后大概率能解决问题。

内容的提问来源于stack exchange,提问作者Asem Abd-elnaser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:34:44