【问题标题】:M1 Mac react-native iOS build error (in target 'RCT-Folly' from project 'Pods')M1 Mac react-native iOS 构建错误(在项目“Pods”的目标“RCT-Folly”中)
【发布时间】:2022-07-06 08:42:51
【问题描述】:

在使用 npm 8.3.1node 17.4 的 M1 Mac 上,当我运行 npx react-native run-ios 时收到 2 个错误:

The following build commands failed:
    CompileC /Users/Steven/Library/Developer/Xcode/DerivedData/HelloSteve-hghgfcwemhoaiacfwlophutqqzbh/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RCT-Folly.build/Objects-normal/arm64/SysUio.o /Users/Steven/Documents/Projects/React\ Native/HelloSteve/ios/Pods/RCT-Folly/folly/portability/SysUio.cpp normal arm64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'RCT-Folly' from project 'Pods')
    CompileC /Users/Steven/Library/Developer/Xcode/DerivedData/HelloSteve-hghgfcwemhoaiacfwlophutqqzbh/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RCT-Folly.build/Objects-normal/arm64/NetOps.o /Users/Steven/Documents/Projects/React\ Native/HelloSteve/ios/Pods/RCT-Folly/folly/net/NetOps.cpp normal arm64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'RCT-Folly' from project 'Pods')
(2 failures)

来自this answer,Podfile 中不存在flipper_post_install(installer) 行。

this answer,我在Podfile 中注释掉# use_flipper!(),运行pod install 然后npx react-native run-ios 并收到类似的错误:

The following build commands failed:
        CompileC /Users/Steven/Library/Developer/Xcode/DerivedData/HelloSteve-hghgfcwemhoaiacfwlophutqqzbh/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RCT-Folly.build/Objects-normal/arm64/SysUio.o /Users/Steven/Documents/Projects/React\ Native/HelloSteve/ios/Pods/RCT-Folly/folly/portability/SysUio.cpp normal arm64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'RCT-Folly' from project 'Pods')
(1 failure)

我尝试了solution here,(在Time.h 中注释掉typedef uint8_t clockid_t; 行)但也没有用。

帮助表示赞赏。

【问题讨论】:

  • 你能告诉我,使用的是哪个版本的 react native?
  • @VickyAhuja,版本0.67.2

标签: ios xcode react-native macos


【解决方案1】:

我遵循this link 提供的解决方案,其中:

  • 清理 pod 和 yarn 缓存
  • 然后安装较低版本的 react-native: npx react-native@0.64.2 init MyApp

这解决了我的问题。

【讨论】:

  • 安装低版本的RN几乎不是解决办法lmao
【解决方案2】:

我在更新项目目标操作系统版本时遇到了类似的问题。

实际上 Xcode 会要求您更改不同包的目标操作系统版本,这导致我再也找不到 RCT 包了。

因此,当 xcode 告诉您有一个很好的选项可以更改不同 pod 的目标设置时,请务必小心。要么一步一步地尝试,要么保持原样,只要它正在构建和运行。

npm install 然后 pod install 分别是 arch -x86_64 pod install 因为我也在 M1 上运行。

因为它可能也需要做一些事情,所以我也会在 xcode 中禁用 arm64,你的项目在构建设置“排除架构”下的目标构建阶段,并且只安装带有 arch -x86_64 pod install 的 pod。

【讨论】:

  • I would also disable arm64 in build phases and only install pods with arch -x86_64. - 请问我们该怎么做?
  • 在 xcode 中转到项目目标并转到选项卡构建设置 - 在那里您可以将 arm64 放在排除的架构下.. 然后仅使用 arch -x86_64 pod install 安装 pod
  • 谢谢。 then install pods ONLY with arch -x86_64 pod install 是什么意思?我需要先卸载旧的arm64 pod 吗?如果有,请问怎么做?
  • 我这样做的方法实际上是建立一个新的 RN 项目,然后复制所有文件。然后安装仅使用 arch x86_64 的 pod。重要的是清洁吊舱并为一个拱门安装所有东西,以免混淆,这可能会在一段时间后导致同样的问题。
【解决方案3】:

我也遇到过这个问题,但在 M1 Mac 上没有

我发现如果我在包含空格 Learning RN/NewProject的文件夹中创建项目,我们运行pod install的时候会报错 p>

我尝试删除文件夹名称 LearningRN/NewProject 中的空格,效果很好。

【讨论】:

    猜你喜欢
    • 2023-01-04
    • 2022-08-22
    • 2021-12-11
    • 2022-10-24
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多