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

react-native空文件夹初始化后npm start卡在‘Dependency Graph, done.’求助

解决React Native Metro Bundler卡在“Dependency Graph, done.”的方案

我之前搭建React Native项目时也踩过这个坑,折腾了好几种方法才搞定,给你整理几个亲测有效的解决方案,按顺序试试:

  • 先清理缓存重启Metro
    这是最直接的第一步,先按Ctrl+C终止当前卡住的Metro进程,然后执行带缓存重置的启动命令:

    npm start -- --reset-cache
    

    要是你用yarn管理依赖,就换成:

    yarn start --reset-cache
    

    很多时候缓存混乱是罪魁祸首,重置后大概率能解决问题。

  • 检查8081端口是否被占用
    Metro默认用8081端口,要是这个端口被其他程序(比如其他开发服务、后台进程)占了,就会卡在依赖图生成后的步骤。
    在Windows终端里执行以下命令查看端口占用:

    netstat -ano | findstr :8081
    

    如果输出了PID号,就用这个命令结束占用进程:

    taskkill /PID <查到的PID数字> /F
    

    要是不想折腾端口,也可以直接指定其他端口启动Metro:

    npm start -- --port 8082
    
  • 核对Node.js版本兼容性
    React Native不同版本对Node.js的版本有要求,版本太高或太低都会出现奇怪的卡壳问题。你可以查看项目package.json里的React Native版本,然后确认对应的Node.js兼容版本(比如RN 0.7x系列一般推荐Node 16/18)。
    用nvm-windows(Windows下的Node版本管理工具)切换版本很方便:

    # 安装16.x版本(示例)
    nvm install 16
    # 切换到该版本
    nvm use 16
    

    切换后删掉node_modules和package-lock.json,重新装依赖再启动:

    rmdir /s /q node_modules
    del package-lock.json
    npm install
    npm start
    
  • 检查项目路径是否有特殊情况
    看你的项目存在OneDrive路径下,OneDrive的同步机制有时候会干扰Metro的文件读取;另外如果路径里有空格、中文或者特殊字符(比如&、#),也可能导致Metro处理失败。
    建议把项目移到一个纯英文、无空格的简单路径下,比如C:\RN_Projects\test,然后重新执行npm install和npm start。

  • 临时关闭防火墙/杀毒软件
    Windows自带的防火墙或者第三方杀毒软件,有时候会误拦截Metro的网络请求,导致进程卡住。可以临时关闭防火墙,或者把Metro相关的进程加入白名单,再重启Metro试试。

要是以上方法都没解决,试试重新初始化一个新项目,或者把React Native升级到最近的稳定版本再尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:42:13