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

Mac M1+Xcode14打包React Native报错:Cannot read properties of undefined

React Native Archive打包报错:Cannot read properties of undefined (reading 'transformFile')(M1+Xcode14环境)

问题场景

Debug模式可正常运行,但执行Archive打包操作时触发如下错误:

PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/xeliumtech/Library/Developer/Xcode/DerivedData/MyProject-dnhytywafolqjdfyogwnjlgwovis/Build/Intermediates.noindex/ArchiveIntermediates/MyProject/IntermediateBuildFilesPath/MyProject.build/Release-iphoneos/MyProject.build/Script-00DD1BFF1BD5951E006B06BC.sh (in target 'MyProject' from project 'MyProject')
    
error Cannot read properties of undefined (reading 'transformFile').
TypeError: Cannot read properties of undefined (reading 'transformFile')
    at /Users/xeliumtech/Documents/Project/Vouch/node_modules/metro/src/Bundler.js:95:34
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (/Users/xeliumtech/Documents/Project/Vouch/node_modules/metro/src/Bundler.js:14:24)
    at _next (/Users/xeliumtech/Documents/Project/Vouch/node_modules/metro/src/Bundler.js:36:9)
info Run CLI with --verbose flag for more details.
Command PhaseScriptExecution failed with a nonzero exit code

已尝试Node降级至14.18.1、删除node_modules/Pod/锁文件重装,问题仍未解决。

解决方案

  • 用Rosetta运行Xcode
    右键Xcode图标→「显示简介」,勾选「使用Rosetta打开」,重启Xcode后重新Archive。M1芯片的架构兼容性是这类问题的常见诱因。

  • 指定Bundle脚本的Node路径
    打开Xcode项目target的「Build Phases」,找到「Bundle React Native code and images」脚本,在开头添加Node路径配置:

    # 系统默认Node路径,或替换为nvm管理的路径
    export NODE_BINARY=/usr/local/bin/node
    # 示例nvm路径:export NODE_BINARY=~/.nvm/versions/node/v14.18.1/bin/node
    

    Xcode的Release环境常因找不到正确Node路径导致打包失败。

  • 升级Metro相关依赖
    该报错多与Metro版本不兼容有关,修改package.json中的metro、metro-react-native-babel-preset版本为对应RN版本的最新兼容版,执行npm install/yarn install后,清理缓存:

    npx react-native start --reset-cache
    
  • 检查Babel配置
    确保babel.config.js预设配置正确,无缺失:

    module.exports = {
      presets: ['module:metro-react-native-babel-preset'],
    };
    
  • 清理Xcode缓存
    删除Xcode派生数据后重试:

    rm -rf ~/Library/Developer/Xcode/DerivedData
    

内容的提问来源于stack exchange,提问作者Harsh Bhatnagar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 10:26:28