使用create-expo-app@latest执行npx expo start时iOS打包失败求助
解决expo-router中
process.env.EXPO_ROUTER_APP_ROOT无效调用问题 试试这些解决办法:
清缓存+重装依赖
删除项目里的node_modules文件夹和package-lock.json(用yarn的话删yarn.lock),然后执行npm install重装依赖,最后运行npx expo start --clear清除缓存再启动项目。检查版本兼容性
先把全局Expo CLI更新到最新:npm install -g expo-cli。然后查看package.json里的expo和expo-router版本,若两者版本差异过大,将expo-router替换为与当前expo版本匹配的稳定版,再重装依赖尝试。修正babel配置
确保babel.config.js里正确配置了expo-router插件,环境变量处理无误,示例配置如下:module.exports = function (api) { api.cache(true); return { presets: ['babel-preset-expo'], plugins: [ ['expo-router/babel'], ['module:react-native-dotenv', { moduleName: '@env', path: '.env', allowUndefined: true }] ] }; };同时项目根目录需放置
.env文件,哪怕是空文件,也能避免环境变量读取异常。确认项目结构与配置
项目根目录必须存在app文件夹(expo-router默认的路由根目录),若使用自定义根目录,需在app.json或app.config.js中添加配置:{ "expo": { "extra": { "EXPO_ROUTER_APP_ROOT": "./app" } } }不要直接在babel中手动设置该变量,通过Expo配置文件定义才是正确方式。
切换Node.js版本
部分Node.js版本与最新expo-router存在兼容性问题,尝试切换到LTS版本(如18.x或20.x),用nvm切换版本后,重新安装依赖并启动项目。
内容的提问来源于stack exchange,提问作者newbeeep
相关产品推荐
相关产品推荐

