Когда я запускаю реактивный проект, я получаю ошибку no bundle URL present
, но я не знаю, какие ошибки я делаю, я был очень смущен.
ios
reactjs
react-native
Инч Сюэ
источник
источник
rm -rf ios/build/
watchman watch-del-all
Ответы:
Решите ошибку
No bundle URL present
:rm -rf ios/build/; kill $(lsof -t -i:8081); react-native run-ios
echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc; source ~/.bashrc
Теперь вы можете запустить сборку React Native iOS (не беспокоясь о некоторых распространенных красных экранах появления ошибок) с помощью простого ярлыка псевдонима:
rni
источник
Я только что столкнулся с этой проблемой (впервые начал работать с React Native). Проблема исчезла, когда во время работы ios simulation (
react-native run-ios
) я запустился,npm install
а затемreact-native run-ios
снова. В окне терминала показывалось, что это пакетирование, а затем симулятор показал экран приветствия.Проверьте эту ссылку для кратких обзоров после
react-native init PropertyFinder
строки, пытайтесь использоватьnpm start
(этот работает для меня)================================================== ======================
ОБНОВЛЕНИЕ для 16,9
Мой порт 8081 был заблокирован McAfee. Использование другого порта напрямую не работало
react-native start --port=8082
иreact-native run-ios --port=8082
Перепробовал практически все решения, приведенные здесь. но ничего не получалось.
Решение:
Произведен поиск 8081 в Xcode и замена всех их на 8082. Затем выполните те же команды для сборки и запуска приложения. Приложение работает плавно
источник
У меня была такая же проблема, когда я связывал свое приложение. Убедитесь, что вы
main.jsbundle
нацелены на ваш основной проектисточник
Как указано в сообщении об ошибке:
Выполнение следующей команды сработало:
источник
Эта проблема возникает, когда вы не разрешаете незащищенные соединения через локальный хост или, возможно, вы пытались принять незащищенные соединения через http.
Чтобы это исправить, добавьте это на
info.plist
:источник
localhost
моего локального сетевого адреса в Info.plist и, следовательно, он не разрешался. Я добавил блок для localhost в качестве домена исключения, и это сработало.Закройте симулятор и терминал. Откройте новый и перейдите к своему проекту, а затем обновите свой реагирующий нативно так:
Проблема в: бесконечная рекурсия в RCTFatal, когда пакет не выполняется .
источник
Причина:
Это потому, что приложение не может найти сервер (который обслуживает пользовательский интерфейс - по коду JavaScript).
Решение:
npm run start
илиyarn start
первымLoading dependency graph, done.
)react-native run-ios/android
Объяснение:
React Native состоит из 2 частей:
Команды сборки:
react-native run-ios/android
состоит в том, чтобы создать собственную часть, затем развернуть на устройствах и запустить приложение на устройствах (симулятор / эмулятор / реальное устройство). Обычно это занимает 3 ~ 4 минуты, чтобы закончить.npm run start
илиyarn start
создать часть javascript и запустить сервер dev для обслуживания встроенного пользовательского интерфейса приложения. Обычно это занимает 30 секунд, чтобы закончить.=> Обычно, часть javascript заканчивается сначала, а потом - нативная. (основываясь на времени, которое они использовали).
=> это верно только для первой сборки (свежей сборки).
=> для восстановления:
Нативная часть просто заняла 10 ~ 15 секунд, чтобы проверить изменения, и потому что никаких изменений для нативной части => не было сделано до того, как часть javascript была собрана и обработана. (Я не уверен, что часть javascript была перестроена или нет, но это заняло больше времени, чем нативная часть)
Вот почему у нас возникла эта проблема, приложение запустилось и потребовало вещи, которой еще не было.
Бонус:
react-native run-ios/android
автоматически запустит сервер разработки для вас.react-native run-ios/android
сразу после этогоreact-native init <app_name>
, все работало хорошо. (потому что функция автоматического запуска и время были взяты для новой сборки, как указано выше).Время, использованное в этом ответе, было относительно моей машины => может отличаться от других.
источник
Попробуйте запустить этот код:
$ sudo xcodebuild -license
Это может решить проблему. Это работает для меня.
источник
У меня была та же ошибка, и я смог запустить приложение только через XCode.
react-native run-ios
не сработало. Для решения проблемы вам необходимо удалитьbuild
папку по адресуYOUR_PROJECT/ios/build/
. После этого вы сможете снова запустить приложениеreact-native run-ios
. Надеюсь это поможет.источник
В большинстве случаев эта проблема возникает, когда при поиске DNS / IP-поиске не удается найти localhost.
Решение :
Попробуйте добавить IP-адрес localhost в ваш файл хоста etc.
Вы можете добавить следующие строки в ваш файл хоста etc (/ etc / hosts)
127.0.0.1 localhost
255.255.255.255 широковещательный хост
:: 1 л. ocalhost
Чтобы подтвердить, что это проблема, вы можете нажать на URL пакета в Safari (если вы попробуете это в Chrome, это разрешит, но Safari не сможет решить). HTTP: // локальный: 8081 / index.ios.bundle платформа = ИОС & DEV = верно и преуменьшать = ложь
источник
Убедитесь в правильности настроек ATS в файле .plist.
Вы можете найти файл по адресу
localhost должен быть определен как цель запроса на исключение следующим образом:
* (не забудьте удалить это в релизной версии ..)
источник
Для меня проблема заключалась в том, что он не мог создать пакет JS. Это не заявляет об ошибке при сборке из Xcode, поэтому у вас нет возможности узнать это. Чтобы найти ошибку, выполните следующую команду.
react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle
Для меня ошибка была что-то с отсутствующим компонентом PureRenderMixin. Решение, которое можно найти здесь: https://github.com/facebook/react-native/issues/13078 . Как правило, вы должны вручную установить response@16.0.0-alpha.3. Это можно сделать с помощью этой команды.
npm i --save react@16.0.0-alpha.3
Эта проблема теперь возникает для всех, потому что выпускаются более новые версии реагирующих альфа-версий (особенно альфа-5), и они ломают сборки реагирующих нативов.
источник
"plugins": ["transform-decorators-legacy"]
в ваш файл .babelrc. Или попробуйте с подключением HOC.The node type SpreadProperty has been renamed to SpreadElement
ссылок@babel
внутриnode_modules
, я не нашел ничего, что решило эту проблему .Решение ->
npm start
затем откройте новый Терминал и перейдите к пути вашего проекта, а затем нажмитеreact-native run-ios
его работает для меняисточник
Что решило это для меня:
cd
вYOUR_PROJECT/ios
rm -r build
react-native run-ios
сноваКроме того, вы можете открыть Finder, перейти к папке
YOUR_PROJECT/ios
и удалить ееbuild
.Тогда беги
react-native run-ios
снова.Источник: Эндрю Бэнкрофт
источник
Это проблема с response-native v0.42.1. Попробуйте закрыть все терминалы и экземпляры XCode и запустите:
источник
сначала закройте симулятор, затем запустите их на терминале
источник
Просто запустите в Терминале
react-native start
:Он запустит упаковщик, теперь не закрывайте это окно терминала, в другом окне терминала запустите ваш проект. Это единственное желание, которое я нашел, чтобы заставить его работать должным образом.
источник
Я нашел самый простой / быстрый способ обойти это, чтобы выйти из приложения в симуляторе (2 х
Cmd + Shift + H
) и перезапустить.источник
У меня была такая же проблема. Но моей проблемой было то, что мой Mac и iPhone не были в одной сети Wi-Fi.
Поэтому убедитесь, что все они находятся в одной сети, и восстановите их еще раз. Если это не так, попробуйте решения, упомянутые другими участниками здесь.
источник
проверьте свой сетевой прокси, лучше выключите его.
или вы должны найти другой способ сохранить сервер упаковщика
источник
Это случилось и со мной после перезапуска моего Mac. При запуске приложения на симуляторе открывается окно терминала launchPackager. Я закрыл это окно и завершил процесс (я также закрыл симулятор), затем снова запустил реакцию-родной run-ios, и все работает нормально.
источник
В моем случае проблема была исправлена путем перезапуска
adb
сервера:adb kill-server && adb start-server
источник
У меня тоже была эта проблема ... проблема была в том, что упаковщик не работал, казалось, потому что моей оболочкой по умолчанию была zsh. Реактивные шины, чтобы открыть новое окно терминала и запустить,
.../node_modules/react-native/packager/launchPackager.command
но это не сработало. Выполнение этого вручную (и поддержание его работы) исправило это для меня.источник
проверьте ваш ключ 'localhost' на NSExceptionDomains dict в info.plist
если он не существует, это вызывает ошибку.
источник
Предполагая, что вы используете
nvm
и установлено несколько версий узла, вот решение:npm install -g react-native-cli
вnode v6.9.5
.node v6.9.5
по умолчанию, запустивnvm alias default 6.9.5
react-native run-ios
Проблема в том, что у вас установлено несколько версий узла,
nvm
и для установкиreact-native-cli
вы переключились или установили последнюю версию узла, которая еще не помечена как узел по умолчанию для указанияnvm
. При запускеreact-native run-ios
это открывает другое новое окно терминала, в котором по умолчаниюnvm
не указывается версия узла, где вы установилиreact-native-cli
. Просто следуйте приведенным выше настройкам, надеюсь, это должно помочь.источник
убедитесь, что у вас есть .jsbundle в вашем проекте
Добавить
в своем реактивном нативном коде попробуйте заново открыть проект
источник
Я работаю с
RN 0.49.5
. Я перепробовал много методов, но никто не работает. Наконец я решил это. Это просто и легко.Основная идея заключается в том, чтобы изменить
localhost
к127.0.0.1
, но это не там , где RN говорит вам. Он находится в RCTBundleURLProvider.m # - (BOOL) isPackagerRunning: (NSString *) хост .Изменения кода:
oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1";
это нормально для симулятора. Если это устройство, просто измените IP-адрес на ваш компьютер.источник
Еще одна вещь, которая работает для меня, это открыть проект в xcode, а затем очистить и собрать его. обычно он перезапускает сервер упаковки и решает проблему.
источник
Выполните следующую команду:
откроется launchpackager.command, и приложение будет установлено на симуляторе ios
источник
Убедитесь, что
launchPackage.command
работаете в терминале и попробуйте запустить снова. Это соберет комплект. Это что-то вроде webpack-dev-server.источник