После нескольких часов, потраченных только на то, чтобы выяснить, что с ним происходит, я обнаружил проблему: сборка завершается сбоем молча, поскольку в образе докера для Xcode 10.1.0 в CircleCI отсутствуют некоторые зависимости, необходимые для сборки приложения с помощьюReact Native.
Ошибка просто гласила: «main.jsbundle не существует».Это происходит, когда xcode запускает react-native-cli bundle
из react-native-xcode.sh
файла.И это не говорит основную причину ошибки: watchman
отсутствует в образе докера, используемом этой версией XCode.
Почему эти образы не имеют одинаковые установленные пакеты?Я не знаю.Я ожидал только те же самые установленные пакеты между образами.
Добавление brew install watchman
заставляет CI снова проходить:
- run:
name: "Install React Native dependencies"
command: |
brew update
brew install watchman
Я бы хотел, чтобы react-native-xcode.sh
мог вернуть корневую ошибку вместо простоmain.jsbundle does not exist