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

Windows系统TypeScript编译报错:tsc-watch命令Mac正常Windows异常

Windows下tsc-watch命令执行报错的解决方案

问题根源

Windows系统默认使用Cmd/PowerShell作为执行shell,你指定的./node_modules/.bin/tsc在Windows下对应bash脚本(.sh文件),Node执行该脚本时无法识别bash语法(比如$(...)命令替换),从而抛出语法错误。另外,Windows Cmd不支持用单引号包裹命令参数,这也会导致解析异常。

解决方案

方案1:省略编译器路径,利用npm自动解析(推荐)

npm会自动在node_modules/.bin目录中查找可执行文件,无需手动指定路径,同时将单引号替换为Windows支持的双引号:

npx tsc-watch --noClear --compiler tsc --onSuccess "node ./dist/src/index.js"

方案2:指定Windows专属的.cmd脚本路径

Windows下node_modules/.bin中的tsc对应.cmd后缀的脚本文件,直接指定该路径即可:

npx tsc-watch --noClear --compiler ./node_modules/.bin/tsc.cmd --onSuccess "node ./dist/src/index.js"

方案3:配置package.json脚本实现跨平台兼容

如果在package.json的scripts中配置,需要转义双引号(符合JSON语法要求),这样Mac和Windows系统都能正常执行:

{
  "scripts": {
    "dev": "tsc-watch --noClear --compiler tsc --onSuccess \"node ./dist/src/index.js\""
  }
}

执行时直接运行npm run dev即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:16:07