Ошибка сборки React Native M1 Mac с целью «React-Codegen»

Когда я запускаю команду npx react-native run-ios в своем терминале на своем Mac, я получаю сообщение об ошибке

CompileC /Users/jessicageorge-mannella/Library/Developer/Xcode/DerivedData/AwesomeProject-ctnixtnnzajiwuhfvbyaxlajljew/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Objects-normal/arm64/FBReactNativeSpec-generated.o /Users/jessicageorge-mannella/Documents/testing/AwesomeProject/ios/build/generated/ios/FBReactNativeSpec/FBReactNativeSpec-generated.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'React-Codegen' from project 'Pods')
(1 failure)

Я запускаю React Native 0.71.5, Ruby версии 2.6.10, Cocopods версии 1.11.3, Node версии 18.15.0, Xcode версии 14.3, и я даже пытался переустановить MacOS на своем ноутбуке, пытаясь удалить неработающие версии. Вот полный список моих установленных пакетов, связанных с реакцией, а также некоторая системная информация.

System:
    OS: macOS 13.3
    CPU: (10) arm64 Apple M1 Pro
    Memory: 150.44 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.15.0 - /usr/local/bin/node
    Yarn: Not Found
    npm: 9.6.3 - /usr/local/bin/npm
    Watchman: 2023.03.27.00 - /opt/homebrew/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
    Xcode: 14.3/14E222b - /usr/bin/xcodebuild
  Languages:
    Java: Not Found
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0
    react-native: 0.71.5 => 0.71.5
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Спасибо!

Вы установили модули под Rosetta или с префиксом команды?

Thibault Capelli 02.04.2023 13:23

У меня RN 0.71.4 с ruby ​​2.7.6, и я могу успешно выполнять свои команды без Rosetta. Я установил ruby ​​с помощью ruby-install и chruby в качестве менеджера версий.

Thibault Capelli 02.04.2023 13:35

Начиная с RN 0.71.5 больше нет зафиксированной .ruby-версии, как вы можете видеть в журнале изменений, но в документе все еще упоминается, что для этой версии требуется 2.7.6. Я не уверен, что это вызывает проблему, но я бы рекомендовал установить менеджер версий ruby. По моему опыту, этот меньше глючит: moncefbelyamani.com/…

Thibault Capelli 02.04.2023 13:49
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
1
3
1 319
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Это известная проблема с react-native, о которой сообщалось 31 марта в репозитории react-native на GitHub. Это связано с несовместимостью между Xcode 14.3 и реактивными версиями до v0.71.6.

Выпущена v.0.71.6 , которая решает проблему путем изменения минимальной целевой версии iOS на 12.4. Перед выпуском этой версии был предложенный патч, который можно было применить к версии 0.71.5.

А для более старых версий react-native (например, v0.70.6) вместо этого может быть применен другой предлагаемый патч.

Это можно просто решить, изменив минимальную версию ReactCodegen для iOS внутри целей Xcode на 12.0 или более позднюю.

Я столкнулся с этой проблемой, и я вышел из нее с помощью этого исправления.

Быстрая починка: Перейдите в Pods -> выберите React-Codegen из Build Settings и обновите iOS Deployment Target до iOS 12.4.

Стабильное исправление: см. https://github.com/travis-mark/lrn/commit/015854716feadd61a904d5a603b027426472f863

Другие вопросы по теме

Ошибка сборки Xcode 14.3 после обновления iOS 16.4: libarclite_iphoneos.a не найден, команда компоновщика не удалась
Ошибка сборки Flutter для iOS: DVTCoreDeviceEnabledState_Disabled
После обновления до Xcode 14.3 при попытке заархивировать приложение Flutter я получаю сообщение «Ошибка выполнения команды PhaseScriptExecution с ненулевым кодом выхода»
Не удается запустить приложение Flutter на симуляторе после обновления XCode до версии 14.3 из-за отсутствия файла libarclite_iphonesimulator.a
Использование побитового '|' с логическими операндами | XCode 14.3 не работает при сборке с использованием реактивной йоги
Отсутствует файл libarclite_iphoneos.a в Xcode 14.3 после обновления флаттера и Xcode
SwiftUI: периодический сбой при нажатии на TextField
Как создать выставочное приложение с Xcode без метро
SPM жалуется на нестабильную версию даже для закрепленных ревизий
Этот метод не следует вызывать в основном потоке, так как это может привести к зависанию пользовательского интерфейса