Я создал новый проект, используя
react-native init Wevaha
, после чего я excute он работает правильно, то я изменил пример приложения на основе моего Требование снова запускает его правильно, но в следующий раз при запуске приложения я получаю ошибку, например' Application Wevaha has not been registered.This is either due to a require() error during intialization or failure to call
AppRegistry.registerComponent
Не удалось вызвать AppRegistry.registerComponent
Ответ 1
Вероятно, у вас уже есть другой сервер Packager React Native для другого приложения или что имя приложения в AppDelegate.m и ваш index.js не совпадают.
Попробуйте закрыть все окна терминала, дважды проверьте значение moduleName
и запустите проект еще раз.
Ответ 2
Для нас проблема заключалась в том, что имя зарегистрированного приложения не соответствовало корневой папке. Итак, если ваша корневая папка /ChatApp
, зарегистрируйте свое приложение так:
AppRegistry.registerComponent('ChatApp', () => App);
Ответ 3
Чтобы уточнить, что сказал облад, я все еще сталкивался с этой проблемой после закрытия всех окон терминала/уничтожения всех других процессов React Native. Что случилось со мной, значение moduleName
в AppDelegate.m
(в корне проекта XCode) было неправильным. Я использую сборку из Barton Hammond Snowflake и пытался переименовать ее из "снежинки" в мою собственную, и я пропустил это значение и получал это ошибка.
Ответ 4
В моем случае я смотрю на номер порта упаковщика, в котором он прослушивает.
Это результат вашего вызова npm start
в корневом каталоге проекта.
┌────────────────────────────────────────────────────────────────────────────┐ │ Running packager on port 8081. │ │ │ │ Keep this packager running while developing on any JS projects. Feel │ │ free to close this tab and run your own packager instance if you │ │ prefer. │ │ │ │ https://github.com/facebook/react-native │ │ │ └────────────────────────────────────────────────────────────────────────────┘
Затем я проверяю, какое приложение прослушивает этот порт через
lsof -i :8081
Результат:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME AwesomePr 8131 haxpor 9u IPv6 0x372bdab8e928e839 0t0 TCP localhost:56484->localhost:sunproxyadmin (SYN_SENT)
Теперь возьмите этот номер PID
и заставьте его убить через
kill -9 8131
Запустите ваш упаковщик в идеале с сбросом кеша через npm start -- --reset-cache
, теперь все должно быть хорошо.
FYI
реагировать: 15.4.2
, реагировать-native: 0.41.2
Ответ 5
В моем случае это вызвано чувствительностью к регистру приложения в index.ios.js
.
Он работает после того, как я изменился с
AppRegistry.registerComponent('AppleReactNative', () => App)
to
AppRegistry.registerComponent('AppleReactNative', () => App)
Ответ 6
Убив все остальные node процессы для меня
то есть.
ps -ef | grep node
найти этот процесс и
pkill -f node
чтобы убить процессы