如何直接创建脱离Expo的React Native应用?iOS文件夹缺失求助
嘿,我来帮你搞定这两个问题~
一、直接创建脱离Expo的React Native应用指令
如果你从一开始就不想依赖Expo生态,完全可以跳过create-react-native-app和后续的detach操作,直接用React Native官方CLI来初始化项目:
npx react-native@latest init MyApp
这里的@latest是为了确保你使用的是最新版本的React Native CLI,MyApp替换成你自己的应用名称即可。初始化完成后,启动对应平台的命令分别是:
- 启动Android项目:
npx react-native run-android(前提是你已经配置好Android开发环境,比如安装Android Studio、设置环境变量等) - 启动iOS项目:
npx react-native run-ios(这个只能在MacOS系统下执行,并且需要安装好Xcode并完成初始化)
二、解决expo detach后iOS文件夹缺失的问题
首先要提一句:expo detach这个命令已经被Expo官方弃用了,现在官方推荐用expo prebuild来生成原生平台的代码文件夹。针对你遇到的iOS文件夹缺失情况,主要有以下几种原因和解决办法:
- 系统环境限制:iOS原生项目只能在MacOS系统下生成,如果你是在Windows或Linux上操作,无论怎么执行命令都无法生成iOS文件夹——这是苹果的生态限制,必须用Mac+Xcode才能处理iOS原生代码。
- Mac环境下重新生成iOS文件夹:如果你是在Mac上操作,那可以试试下面的步骤:
- 先确保你已经安装了Xcode,并且打开过一次Xcode(完成协议同意、组件安装等初始化操作)
- 进入你的项目根目录,执行:
expo prebuild --platform ios
- 彻底重置后重新生成双平台文件夹:如果上面的方法没用,可以尝试重置项目后重新生成:
- 删除项目里的
android文件夹、node_modules文件夹、package-lock.json(或yarn.lock)文件 - 重新安装依赖:
npm install(用yarn的话就是yarn install) - 最后执行:
expo prebuild --platform all,这样就能同时生成Android和iOS的原生文件夹了
- 删除项目里的
如果之后你确定要长期脱离Expo环境,其实一开始就用react-native init的方式会更纯粹,避免Expo相关的配置带来的潜在问题。
内容的提问来源于stack exchange,提问作者Mizlul
相关产品推荐
相关产品推荐

