You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Config在iOS Xcode打包Archive时报错求解决

解决React Native Config打包Archive时的Errno::EISDIR错误

问题根源

你的.env.env1文件存放在根目录的.env文件夹中,但Xcode Scheme的Build Pre-actions脚本里指定的ENVFILE路径错误指向了.env目录,而非具体的.env.env1文件,导致react-native-config的ReadDotEnv.rb脚本尝试读取目录引发Errno::EISDIR错误。

解决方案

  • 修正Build Pre-actions的ENVFILE路径
    打开Xcode,进入目标Scheme的Edit Scheme > Build > Pre-actions,找到你添加的环境配置脚本,确保ENVFILE指向正确的文件路径:

    # 直接在命令前指定ENVFILE
    ENVFILE=".env/.env.env1" react-native-config
    
    # 或者先export环境变量
    export ENVFILE=".env/.env.env1"
    

    路径是相对于项目根目录的,务必确认层级和文件名拼写完全匹配。

  • 验证Build Phases中的配置脚本
    检查Xcode项目Build Phases里的[CP-User] Config env vars脚本,确认它是通过ENVFILE环境变量读取配置文件,而非硬编码固定路径。该脚本默认逻辑是读取ENVFILE变量,只要Pre-actions里的设置正确,就会自动指向目标文件。

  • 清理缓存后重新构建

    • 按下Cmd + Shift + K清理Xcode项目构建缓存
    • 删除DerivedData目录:通过File > Project Settings > Derived Data打开目录并删除全部内容
    • 重启Xcode,重新尝试Archive操作
  • 确认.env文件的权限与命名

    • 确保.env.env1文件对当前用户有读取权限
    • 检查文件名是否准确,避免出现拼写错误(比如误写为.env/env1)

额外提示

日常运行npm run ios:env1正常是因为npm脚本里已经正确设置了ENVFILE,但Xcode Archive不会继承npm脚本的环境变量,必须在Scheme的Pre-actions中显式配置。

内容的提问来源于stack exchange,提问作者Shubham More

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 20:41:08