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

Angular TS项目运行nodemon执行npm run dev提示node_modules命令无法识别

问题定位

执行npm run dev时提示node_modules is not recognized as an internal or external command,核心原因是系统命令行把脚本中的node_modules字符串识别成了要直接执行的命令名,没有解析成正确的文件路径,属于npm脚本配置、路径写法或者依赖安装的常见问题,和Angular、TypeScript本身没有直接关系。

排查步骤
  • 打开项目根目录的package.json,检查scripts.dev字段的命令写法,确认是否存在路径漏写斜杠、多打空格的问题:比如把node_modules/.bin/nodemon错写成node_modules nodemon(中间多了空格),或者漏写路径前缀./,都会直接触发这个报错
  • 确认当前执行命令的终端工作目录是项目根目录,没有切到src等子文件夹,否则相对路径寻址找不到node_modules
  • 检查项目本地依赖是否安装完整:打开项目下的node_modules目录,确认是否存在nodemon对应的文件夹,避免只全局装了nodemon、项目本地没装依赖的情况
  • 如果用了单独的nodemon.json配置文件,检查配置中exec字段的命令是否也存在路径写法错误
可直接复用的解决方案
  • 最稳妥的脚本写法:不要在npm脚本里硬写node_modules下的全路径,npm执行脚本时会自动把项目node_modules/.bin目录加到系统环境变量PATH里,直接调用命令名即可,完全规避跨平台路径兼容问题。标准配置参考:
// package.json
{
  "scripts": {
    "dev": "nodemon --watch \"src/**/*.ts\" --exec \"ts-node\" src/main.ts"
  },
  "devDependencies": {
    "@types/node": "^20.0.0",
    "nodemon": "^3.0.0",
    "ts-node": "^10.9.0",
    "typescript": "^5.0.0"
  }
}
  • 如果必须写全路径,不要手动拼跨平台路径,安装cross-env做跨平台路径适配,执行npm install cross-env --save-dev后再调整脚本即可,避免Windows和类Unix系统的路径分隔符、路径前缀差异导致的报错
  • 依赖异常修复:如果改完脚本仍报错,直接删除项目下的node_modules文件夹和package-lock.json文件,重新执行npm install安装全量依赖即可

踩坑提示:绝大多数该类报错都是写脚本时手滑多打了空格,把路径拆成了两个独立命令参数,比如把./node_modules/.bin/nodemon拆成了node_modules和nodemon两部分,系统会优先尝试执行第一个参数node_modules,自然会抛出找不到命令的错误。

内容的提问来源于stack exchange,提问作者iamkanaramyadav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:51:19