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

运行npm run build提示node_modules不是内部或外部命令如何解决

问题产生原因

在Windows系统cmd环境下执行npm脚本出现该报错,核心原因有两点:

  • cmd默认使用反斜杠\作为路径分隔符,脚本中编写的Unix风格正斜杠路径node_modules/.bin/tsc无法被cmd正确解析,执行时会将路径截断,把node_modules识别为待执行的命令名,最终抛出找不到对应程序的报错。
  • npm执行scripts字段下的命令时,会自动将项目本地node_modules/.bin目录加入当前进程的环境变量PATH搜索路径,本身不需要书写bin命令的完整路径,写全路径反而会触发跨系统路径不兼容的问题。
修复方法

按照优先级推荐以下方案:

  • 最优方案(跨平台兼容):直接修改package.json里的build脚本配置,去掉冗余的全路径前缀,直接调用tsc命令即可,npm会自动匹配本地安装的typescript依赖,修改后scripts段配置如下:
    "scripts": {
        "start": "npm run build  && cd dist &&  node app",
        "build": "tsc"
    },
    
    修改后重新执行npm run build即可正常编译,该写法在Windows、macOS、Linux系统下均可正常运行。
  • 仅适配Windows cmd的临时方案:如果坚持要写全路径,需要把路径里的正斜杠全部替换为cmd支持的反斜杠,即把build脚本改为node_modules\.bin\tsc,但该写法在类Unix系统下会执行失败,不推荐使用。
  • 异常兜底处理:如果修改配置后仍然报错,先删除项目下的node_modules目录和package-lock.json文件,重新执行npm install完成依赖安装后再尝试构建,排除依赖安装缺失、文件损坏导致的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:42:18