运行yarn run android时出现Error: spawn EPERM错误,寻求解决办法
yarn run android时出现Error: spawn EPERM的问题 当使用react-native: 0.66.4 + yarn: v1.22.19执行yarn run android将项目运行到Android设备时,出现如下错误:
Error: spawn EPERM at ChildProcess.spawn at Object.spawn at module.exports. at runOnAllDevices
错误截图:
问题原因
这个错误核心是权限不足,导致Node.js的child_process.spawn方法无法正常启动Android相关构建进程,常见触发场景包括:
- 项目目录或Android SDK文件缺少读写/执行权限
- 终端未以管理员/超级用户权限运行
- 杀毒软件或系统安全机制拦截了进程启动
- Node.js或Yarn的权限配置异常
解决方案
以管理员权限运行终端
Windows:右键CMD/PowerShell选择「以管理员身份运行」,再执行yarn run android;
Linux/macOS:执行sudo yarn run android,输入系统密码后重试。修复项目目录权限
Windows:右键项目根目录→属性→安全,确保当前用户拥有「完全控制」权限;
Linux/macOS:在项目根目录执行chmod -R 755 .,赋予目录和文件合理的读写执行权限。检查Android SDK权限
找到Android SDK安装目录(通常为~/Android/Sdk或C:\Users\<用户名>\AppData\Local\Android\Sdk),确认该目录权限配置和项目目录一致,避免SDK工具无法被调用。临时关闭安全软件
部分杀毒软件会误拦截React Native构建进程,临时关闭后重试命令,排查是否是安全软件导致的问题。清除缓存后重新构建
执行以下命令清除缓存,再重新运行项目:yarn cache clean cd android && ./gradlew clean cd .. && yarn run android检查Node.js和Yarn权限
确认Node.js和Yarn安装目录无权限限制,或尝试重新安装Yarn:npm install -g yarn
内容的提问来源于stack exchange,提问作者Kamal Chauhan

