React Native iOS构建报错:option '-p, --packages <packages...>'参数缺失
解决方案
针对Xcode构建报错 option '-p, --packages <packages...>' argument missing
- 检查Xcode项目的Build Phases -> Bundle React Native code and images脚本内容,确保其为默认的
../node_modules/react-native/scripts/react-native-xcode.sh。如果有自定义修改(比如添加了额外参数但未补全),恢复默认脚本即可。 - 查看Podfile中的
post_install钩子,确认是否有第三方依赖篡改了bundle命令的参数。若存在此类代码,尝试注释后重新执行pod install再构建。
针对Metro启动后卡在CreateBuildDirectory步骤
- 手动删除指定的DerivedData文件夹:直接删除路径
/Users/emidac/Library/Developer/Xcode/DerivedData/AppTrackerTechnicalInterview-dzbptdkaecwmhlbdmrzuhgqtzjau,清空后重新运行构建。 - 卸载模拟器中的旧应用:打开iPhone模拟器,长按目标应用图标删除,再重新执行
npx react-native run-ios。 - 指定具体模拟器运行:执行
npx react-native run-ios --simulator="iPhone 14"(替换为你常用的模拟器型号),避免自动选择可能存在异常的模拟器。 - 关闭Xcode并行构建:打开Xcode -> Product -> Scheme -> Edit Scheme -> Build,取消勾选Parallelize Build选项后重新构建。
- 检查Build Products路径:在Xcode的Build Settings中,确认Build Products Path为默认值
$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME),若被修改则恢复默认。
额外排查步骤
- 执行
npx react-native info打印环境信息,确认React Native版本与Xcode 14.2的兼容性(RN 0.70+版本通常兼容Xcode 14.2)。 - 确认package.json中的start脚本为
"start": "react-native start",运行Metro时使用npm start或npx react-native start,避免命令输入错误。
内容的提问来源于stack exchange,提问作者Emilio
相关产品推荐
相关产品推荐

