Ошибка запуска собственного приложения React из терминала (iOS)


394

Я следую инструкциям на официальном сайте React Native.

Используя следующее, чтобы построить мой проект:

react-native run-ios

Я получаю ошибку:

Found Xcode project TestProject.xcodeproj
xcrun: error: unable to find utility "instruments", not a developer   
tool or in PATH

Command failed: xcrun instruments -s
xcrun: error: unable to find utility "instruments", not a developer 
tool or in PATH

Хотя, когда я запускаю приложение из .xcodeproj, все работает нормально.

Какие-либо предложения?


stackoverflow.com/questions/60227353/… Может ли кто-нибудь помочь мне в этих ошибках
Shaharyar Jafri

Ответы:


952

Проверьте эту ссылку ( Выполнение реакции-родной run-ios происходит ошибка? ). Похоже, проблема с расположением Command line tools.

В Xcode выберите меню Xcode, затем «Настройки», затем вкладку «Местоположения». Выберите версию Xcode из выпадающего списка и выйдите из Xcode.

Вкладка расположения XCode


@JacobSiegel, можете ли вы предоставить более подробную информацию о вашей вкладке Locations в XCode, пожалуйста.
leo7r

9
@ leo7r Спасибо. Мои инструменты CL были пустыми. Я изменил настройку на Xcode 8.0, и это решило проблему. Вы можете выделить это в своем ответе. Ура!
AndrewHenderson

Выбор выпадающего списка инструментов командной строки для меня был пустым. Единственный вариант, который я имел при нажатии, был Xcode 9.2, который я выбрал, сохранил изменения и инструменты, доступные для реагирования на нативные. Спасибо!
Джои Т

Так что я сделал это и по какой-то причине установка homebrew отключила его. Мне пришлось выбрать его снова из xcode после установки homebrew.
qwertzguy

1
По-прежнему есть ошибка даже при выбранном CLT ...: /
Mayoul

139

Возможно, вам придется установить или установить расположение инструментов командной строки Xcode .

Через командную строку

Если у вас загружен Xcode, вы можете запустить следующее, чтобы установить путь:

sudo xcode-select -s /Applications/Xcode.app

Если инструменты командной строки еще не установлены, вам может понадобиться сначала выполнить это:

xcode-select --install

Возможно, вам придется принять лицензию XCode перед установкой инструментов командной строки:

sudo xcodebuild -license accept 

Через Xcode

Или измените Command Line Toolsнастройку с помощью Xcode ( Xcode > Preferences > Locations):

Настройки XCode - вкладка "Местоположения"


Работает как шарм! <3
Ришав Кумар

15

По умолчанию после установки XCode командная строка не выбрана, поэтому откройте XCode и перейдите в « Настройки»> «Местоположения» и настройте Инструменты командной строки ...

Это сработало для меня в MAC High Sierra , Xcode Version 9.3 :

Настройки XCode

Нажмите, iчтобы открыть эмулятор iOS ...

Нажмите a, чтобы открыть устройство или эмулятор Android, или i, чтобы открыть эмулятор iOS.

И вы можете увидеть новый крутой симулятор iPhone, как на картинке ниже:

Реагируйте на нативные отпечатки, я - Алиреза Дезфулиан, разработчик интерфейса!


2
Лучший ответ, лучший из лучших.
AmerllicA

13

В моем случае проблема была в том, что Xcode не был установлен.


Можете ли вы объяснить причину понижения голосов? Это был настоящий ответ. Я получал точно такую ​​же ошибку.
Гейзенберг,

Официальный веб-сайт реагирует на то, что вам нужен Xcode, чтобы реагировать на работу.
JacobSiegel

6
Я читал учебник для начинающих, который предполагал, что xcode уже установлен и не упоминает об этом. Эта ошибка не говорит о том, что у вас не установлен xcode. Итак, я бы никогда не узнал.
Гейзенберг

11

Мне пришлось принять лицензию XCode после первой установки, прежде чем я смог ее запустить. Вы можете запустить следующее, чтобы получить лицензионное приглашение через командную строку. Вы должны также ввести agreeи подтвердить.

sudo xcodebuild -license

Вы также можете немедленно принять лицензию, если хотите: sudo xcodebuild -license accept(источник: apple.stackexchange.com/a/213151/89456 )
odlp

7

Проблема в том, что ваша версия XCode не установлена ​​в инструментах командной строки, чтобы решить эту проблему, откройте XCode> Меню> настройки> местоположение> здесь для инструментов командной строки выберите версию XCode, вот и все. введите описание изображения здесь


4

Для таких как я, которые приходят на эту страницу с этой проблемой после обновления XCode, но не имеют проблем с настройкой местоположения, перезагрузка моего компьютера сделала свое дело.


3

Для меня оказывается, что произошло обновление системы iOS в ожидании перезагрузки компьютера. Перезапустите и дайте завершению обновления решить мою проблему.


1

В моем случае переменная среды SDKROOT была неправильной, что относилось к старой версии iPhoneOSxx.x.sdk. (Возможно, это автоматически разрешилось бы после перезагрузки?)

Вы можете проверить, запустив echo $SDKROOTи убедившись, что это правильный путь.

Я исправил это, обновив в .bash_profile:

export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk

1

Ни одно из этих решений не помогло мне. Эти две похожие проблемы предлагают временные решения, которые сработали, кажется, что процесс симулятора не завершается корректно:

Убийство симуляторов процессов

С https://stackoverflow.com/a/52533391/11279823

  1. Выйти из симулятора и Xcode.
  2. Открыл Activity monitor, выбрал cpuопцию и поиск sim, убив весь процесс показанный как результат.
  3. Затем запустили терминал и запустили sudo xcrun simctl erase all. Это удалит весь контент всех симуляторов. По содержанию, если вы вошли куда-то, пароль исчезнет, ​​все приложения разработчика, установленные в этом симуляторе, исчезнут.

Открытие симулятора перед запуском пакета

С https://stackoverflow.com/a/55374768/11279823

open -a Simulator; npm start

Надеюсь, постоянное решение найдено.


1

1) Перейти к настройкам XCode

2) Найдите вкладку местоположения

3) Установите версию XCode в данных инструментах командной строки.

Теперь это будет успешно работать.


0

В Mac: в конце концов, вы получаете эту проблему, может быть шанс пропустить следующее в Системных настройках -> Сеть -> Ethernet -> Выбрать Дополнительно -> Прокси

добавьте следующую строку,

* .Local, локальный


0

Для любой такой проблемы:

  1. Перейти в .expoпапку
  2. найти apk-cache
  3. Удалить эту папку

и вы сделали ..

Надеюсь, поможет?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.