在 Macbook M1 上的 Xcode 12.4 中构建后,在 iOS 上的 React Native 中找不到 YogaKit.modulemap
Posted
技术标签:
【中文标题】在 Macbook M1 上的 Xcode 12.4 中构建后,在 iOS 上的 React Native 中找不到 YogaKit.modulemap【英文标题】:YogaKit.modulemap not found in React Native on IOS after build in Xcode 12.4 on Macbook M1 【发布时间】:2021-05-29 12:23:51 【问题描述】:只需在新的 Macbook M1 上创建一个新的 React Native 项目。起初它是在 Xcode 12.4 上构建的,但有任何问题。但是几天后构建失败并出现错误:
致命错误:找不到模块映射文件“/Users/jocoders/Library/Developer/Xcode/DerivedData/CryptoWalletApp-hfiwvoyqlbgufkgtyvqtxygiaodf/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap”
我已经尝试过,但没有任何效果:
-
已检查 cocoapods 构建目标,它与我的项目构建目标的版本相同 https://github.com/facebook/react-native/issues/28503#issuecomment-643744117
重建项目;
使用命令 arch -x86_64 pod install 安装 pod;
将 arm64 放入 Xcode 排除架构 https://github.com/facebook/react-native/issues/28503#issuecomment-770378485。
各位大佬能告诉我怎么解决吗?现在可以在新的 Macbook M1 上为 React Native 开发吗?我已经有几个星期了,但仍然无法在 ios 上运行,因为它太痛苦了,很多错误。而且我在等待来自 android 的更多惊喜,而不是 IOS,但在真正的 Android 中运行没有任何问题。
【问题讨论】:
我正在运行 M1,遇到了您的问题,并且完成了您所做的所有步骤。我一直严格地通过npx react-native run-ios
构建我的项目,但后来我打开了xcode,打开了/ios
文件夹,然后从那里运行了构建。此后一切正常。
我有同样的错误,尝试你所有的步骤,但没有运气。现在的解决方法是@AngusRyern 提到的 -> 打开 Xcode 并从中构建,我只能在模拟器上运行,当在真实设备上构建时保持断开连接。
【参考方案1】:
我整天都在试图找到这个决定,但除了它之外没有任何效果:请尝试通过 Rosetta 打开 Xcode - 右键单击应用程序文件夹中的 Xcode -> 获取信息 -> 将 Open with Rosetta 设置为 true
【讨论】:
【参考方案2】:当您尝试在 M1(Apple Silicon Chip)中使用以下命令创建项目时:
npx react-native init ProjectName
尝试使用以下步骤构建:
-
打开终端并安装rosetta
在终端中输入“
softwareupdate — install-rosetta
”命令。
安装完成后,转到应用程序。
查找终端应用
右键单击并创建一个复制终端
现在右键单击重复的终端并单击“获取信息”
您将看到带有“Open with Rosetta”选项的复选框。启用它。 Rosetta checkbox in terminal
就是这样。重命名您的 Rosetta 终端,以便您轻松识别它。
打开您的 Rosetta 终端并运行命令 npx react-native init ProjectName
项目初始化完成后输入npx react-native start to start
metro。
现在输入命令npx react-native run-android
以运行Android
键入命令npx react-native run-ios
以运行iOS。
项目初始化完成后,您也可以在 VS Code 中运行 start 和 run 命令。
【讨论】:
【参考方案3】:我有同样的问题,虽然不是在 M1 上。我使用来自this answer 的所有建议修复了它。
引用那里的答案以供参考:
确保您的 cocoapods 构建目标与您的版本相同 项目构建目标。 尝试重新启动您的机器。 检查您的 podfile 以确保您的构建方案包含在其中。
真正帮助我的最后一件事是重新启动机器。奇怪!
【讨论】:
以上是关于在 Macbook M1 上的 Xcode 12.4 中构建后,在 iOS 上的 React Native 中找不到 YogaKit.modulemap的主要内容,如果未能解决你的问题,请参考以下文章
配备 M1 Max 芯片的新 MacBook Pro 上的 Android Studio?
无法在 MacBook M1 芯片上构建 Kotlin Multiplatform 移动项目
如何在 M1 Macbook 上的 Rosetta 2 下运行 Homebrew 安装程序