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

如何修复React启动时的「TypeError: fsevents is not a constructor」错误

解决「TypeError: fsevents is not a constructor」React启动错误

我之前在macOS环境下也碰到过一模一样的问题——新建项目第一次启动正常,重启终端后就触发这个报错,试了常规的重装依赖、换包管理工具都没用,下面是几个经过验证的解决方案,按顺序试试:

方案1:彻底清理依赖与缓存

这是解决依赖冲突最有效的基础步骤:

  • 先删除所有依赖文件和锁文件:
    rm -rf node_modules package-lock.json yarn.lock
    
  • 清空npm和yarn的全局缓存:
    npm cache clean --force
    yarn cache clean
    
  • 重新安装依赖:
    npm install # 或者用 yarn install
    
  • 再次尝试启动应用:
    npm start # 或者 yarn start
    

方案2:手动指定兼容的fsevents版本

自动安装的fsevents版本可能和项目里的chokidar不兼容,手动锁定稳定版本可以解决:

  • 安装和大多数chokidar版本兼容的fsevents@2.3.3:
    npm install fsevents@2.3.3 --save-dev # 或者 yarn add fsevents@2.3.3 --dev
    
  • 安装完成后重启应用

方案3:检查Node.js版本

fsevents对Node版本有明确要求,建议使用LTS版本(比如16.x、18.x):

  • 查看当前Node版本:
    node -v
    
  • 如果版本过新或过旧,用nvm切换到LTS版本:
    nvm install --lts
    nvm use --lts
    
  • 切换版本后重复方案1的步骤重新安装依赖

方案4:强制重装chokidar

错误源头是chokidar的fsevents-handler模块,可能是chokidar本身的依赖损坏:

  • 卸载并重新安装chokidar:
    npm uninstall chokidar && npm install chokidar --save-dev
    # 或者用 yarn remove chokidar && yarn add chokidar --dev
    
  • 再次启动应用

如果以上方案都无效,可以试试新建一个干净的React项目,把你的源码、配置文件复制过去——有时候项目根目录的隐藏缓存文件会导致这类奇怪的依赖问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:24:29