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

如何修复React Native中的“Error spawn Unknown system error -8”错误

React Native run-android 报错 "Error spawn Unknown system error -8" 解决思路

问题场景

在MacBook的Android模拟器中运行特定React Native项目时,执行npx react-native run-android命令出现Error spawn Unknown system error -8错误。其他RN项目在该Mac上可正常运行,且该特定项目在Windows电脑上也能正常运行。

错误栈信息

Error: spawn Unknown system error -8
at ChildProcess.spawn (node:internal/child_process:413:11)
at Object.spawn (node:child_process:743:9)
at module.exports (/Users/hannes/Projects/test2/mapp/native-frame/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:205:26)

已尝试的解决方案

  • 删除package-lock.json
  • 执行rm -r node_modules + 在android目录下执行gradlew clean
  • 在Android Studio中创建与build.gradle指定API级别匹配的新虚拟设备
  • 将node升级至18.8.0
  • 将npm升级至8.18.0
  • 执行npm cache clean --force

可行解决思路

1. 修复可执行文件权限

System error -8多与可执行文件权限不足或架构不兼容有关:

  • 进入项目的android目录,执行chmod +x gradlew给gradle脚本添加执行权限
  • 检查node_modules中第三方依赖的二进制文件,若存在权限问题,批量执行chmod +x修复

2. 匹配Node.js与Mac芯片架构

如果是M系列芯片Mac,确保Node.js为arm64原生版本:

  • 执行node -p process.arch查看架构,若显示x64,卸载现有Node后通过Homebrew安装arm64版本:brew install node

3. 深度清理Android构建缓存

  • 删除全局gradle缓存:rm -rf ~/.gradle/caches
  • 删除项目本地构建产物:rm -rf android/build
  • 重新执行npx react-native run-android

4. 排查项目特定依赖或脚本

  • 对比正常RN项目的package.json,移除差异依赖并逐个测试,定位问题包
  • 检查项目的postinstall等自定义脚本,确认是否生成了Mac不兼容的可执行文件

5. 验证Android环境变量配置

  • 确保ANDROID_HOME/ANDROID_SDK_ROOT环境变量正确,且$ANDROID_HOME/platform-tools、$ANDROID_HOME/tools已加入PATH
  • 执行adb devices验证Android调试环境正常

内容的提问来源于stack exchange,提问作者Carlo-Rodriguez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:57:28