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

React Native旧项目npx run-android失败,Android Studio启动后脚本加载出错

React Native旧项目运行问题解决方案

一、解决npx react-native run-android/yarn android的spawn EPERM错误

这个错误通常和权限、依赖兼容性或环境拦截有关,可尝试以下步骤:

  • 修复项目文件权限
    macOS/Linux执行:

    chmod -R 755 /Users/huzaifafarooqi/AndroidStudioProjects/shoplay-mobile-main
    

    Windows用户右键项目文件夹→属性→安全→为当前用户添加完全控制权限。同时检查安全软件(如防火墙、杀毒软件)是否拦截了Node.js相关命令。

  • 清理并重装依赖

    1. 删除旧依赖和锁文件:
      rm -rf node_modules package-lock.json yarn.lock
      
    2. 重新安装依赖:
      npm install
      # 或用yarn
      yarn install
      
  • 适配React Native CLI版本
    2年前的RN项目大概率和新版CLI不兼容,建议使用项目本地兼容版本的CLI执行命令:

    1. 查看package.json中react-native的版本,找到对应的CLI版本(例如RN 0.65对应CLI 6.x)
    2. 用指定版本CLI运行:
      npx @react-native-community/cli@6.x run-android
      

二、解决Android Studio运行后Unable to load script错误

即使启动Metro也无请求,可尝试:

  • 重置Metro缓存并重启服务

    npx react-native start --reset-cache
    

    启动后确保Metro控制台没有报错,等待服务完全就绪后再重新运行应用。

  • 检查设备调试配置

    1. 确保设备开发者选项中USB调试、通过USB安装应用已开启
    2. 摇一摇设备(或按Ctrl+M打开调试菜单),选择Configure Bundler,确认地址为localhost:8081;如果是真机,可尝试替换为电脑的局域网IP(比如192.168.x.x:8081)
  • 手动生成本地脚本(临时方案)
    如果Metro连接始终有问题,可先打包本地脚本再运行:

    npx react-native bundle --platform android --dev true --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
    

    执行完成后再用Android Studio运行,应用会加载本地打包的脚本,但热重载仍需依赖Metro连接,建议优先解决Metro问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:54:51