Mac升级Ventura后react-native run-ios启动失败求助
Mac Ventura正式版下react-native run-ios启动失败的解决办法
问题描述
Mac升级至Ventura正式版后,执行react-native run-ios无法正常启动应用:
- 预期行为:执行命令后,Xcode模拟器启动,同时自动打开运行Metro的终端窗口,应用正常加载
- 当前行为:
- Xcode模拟器正常打开,主终端显示构建成功,但未自动打开Metro终端,抛出错误:
“launchPackager.command” can’t be opened because (null) is not allowed to open documents in Terminal.
- 模拟器显示白屏,无法交互
- Xcode模拟器正常打开,主终端显示构建成功,但未自动打开Metro终端,抛出错误:
已尝试的无效操作
- 手动打开
node_modules/react-native/scripts/launchPackager.command:能启动Metro终端,但应用无法连接,终端提示:warn No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.
info Reloading app... - 为Terminal授予全磁盘访问权限,无效果
可行解决方法
方法1:设置.command文件默认打开方式
- 定位到
node_modules/react-native/scripts/launchPackager.command文件 - 右键点击文件 → 「显示简介」
- 在「打开方式」下拉菜单选择「终端」,点击「全部更改」,确认将所有.command文件默认用终端打开
方法2:手动启动Metro并指定端口运行应用
- 在项目根目录启动Metro:
npx react-native start
- 保持Metro终端运行,新开终端执行:
react-native run-ios --port 8081
若8081端口被占用,可替换为其他端口(如8082),确保应用配置的端口与Metro一致
方法3:重置React Native缓存后重试
执行以下命令清除缓存,再重新启动应用:
npx react-native start --reset-cache react-native run-ios
方法4:修复脚本权限并手动授权
- 给launchPackager.command添加执行权限:
chmod +x node_modules/react-native/scripts/launchPackager.command
- 打开「系统设置」→「隐私与安全性」→「安全性」,查看是否有该脚本被阻止的提示,点击「允许」
- 重新执行
react-native run-ios
内容的提问来源于stack exchange,提问作者mattjl
相关产品推荐
相关产品推荐

