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

Mac M1 Ventura系统下TypeScript实时编译(tsc -w)找不到文件求助

M1 Mac Ventura 13.3.1 下 TypeScript 实时编译(tsc -w)异常问题

环境信息

  • 设备:搭载M1处理器的Mac
  • 系统:Ventura 13.3.1
  • 依赖版本:
    • Node.js: 20.3.0
    • NPM: 9.6.7
    • TypeScript Compiler (tsc): 5.1.6

问题现象

单独执行tsc命令编译TypeScript文件无明显异常,但使用tsc -w开启实时编译时,会抛出无法找到最新修改的TypeScript文件的错误。

已尝试的无效方案

  • 修改tsconfig.json配置(如调整include/exclude、watchOptions等)
  • 升级TSC至当前最新版本(5.1.6)
  • 使用sudo权限执行tsc -w命令

可行解决方案建议

1. 调整文件系统权限与路径

M1 Mac的系统完整性保护(SIP)或目录权限可能干扰文件监听:

  • 将项目从系统保护路径(如/System、/Library)移至用户目录(如~/Documents)后重试
  • 在「系统设置-隐私与安全性-文件与文件夹」中,给终端/开发工具(如VS Code)授予项目目录的完全访问权限

2. 强制TSC使用轮询模式监听文件

在tsconfig.json中添加监听配置,关闭系统原生文件事件监听,改用轮询:

{
  "watchOptions": {
    "watchFile": "fixedPollingInterval",
    "watchDirectory": "fixedPollingInterval",
    "fallbackPolling": "dynamicPriority"
  }
}

保存配置后重新执行tsc -w验证效果。

3. 切换Node.js LTS版本

Node.js 20.x在M1 Mac上可能存在文件监听兼容性问题,尝试降级至18.x LTS版本:

  • 通过nvm安装:nvm install 18
  • 切换版本:nvm use 18
  • 重装依赖:npm install后测试tsc -w

4. 用第三方工具替代原生监听

如果以上方案无效,可使用nodemon配合tsc实现实时编译:

  • 安装依赖:npm install --save-dev nodemon
  • 在package.json中添加脚本:
    {
      "scripts": {
        "watch": "nodemon --ext ts --exec 'tsc'"
      }
    }
    
  • 启动监听:npm run watch

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:32:48