Когда я запускаю команду react-native start
, она показывает Packager can't listen on port 8081
.
Я знаю, что проблема связана с программным обеспечением, использующим мой порт 8081.
Я использую Resource Monitor, чтобы увидеть порт, но не могу найти 8081, нет 8081
Может кто-нибудь подскажет, как его найти?
react-native
Мортон
источник
источник
Ответы:
Вы можете запустить упаковщик на другом порту.
Также можно узнать, какие порты используются в Windows с помощью netstat.
Netstat дает вам PID, который вы можете использовать, чтобы убить процесс.
источник
На Mac выполните следующую команду, чтобы найти идентификатор процесса, использующего порт.
8081
sudo lsof -i :8081
Затем выполните следующую команду, чтобы завершить процесс:
kill -9 23583
Вот как это будет выглядеть
источник
Эта ошибка возникает из-за того, что какой-то процесс уже запущен на порту 8081. Остановите этот процесс, а затем запустите свою команду, она запустит ваш код. Для этого сначала перечислите все процессы, которые используют этот порт, набрав
Эта команда отобразит идентификатор процесса (PID) процесса, а затем завершит процесс узла, используя
Здесь PID - это идентификатор процесса узла.
источник
Это изображение действительно показывает, что ваш 8081 не используется. Если приведенные выше предложения не помогли, и ваше мобильное устройство подключено к компьютеру через USB (и у вас Android 5.0 (Lollipop) или выше), вы можете попробовать:
В большинстве случаев это не обязательно, но на всякий случай давайте сбросим соединение с мобильным телефоном и перезапустим сервер adb. В заключение:
Таким образом, всякий раз, когда ваше мобильное устройство пытается получить доступ к любому порту 8081 на самом себе, оно будет перенаправлено на порт 8081 на вашем ПК.
Или можно попробовать
источник
Мой Metro Bundler завис, и было запущено множество процессов узлов, но у меня не было никаких других разработок, кроме react-native, поэтому я запустил:
Metro Bundler по умолчанию работает через узел на порту 8081, и иногда он может сталкиваться с проблемами, из-за которых он застревает (обычно из-за быстрого нажатия CTRL+ Sпри включенной горячей перезагрузке). Если вы нажмете CTRL+, Cчтобы остановить
react-native run-android
процесс, вам внезапно придется плохо, потому чтоreact-native-run-android
вы застрянете на:Исправить:
Примечание: если вы разрабатываете другие приложения в то время, завершение всех процессов узла может прервать их или любые запущенные вами службы на основе узлов, поэтому помните о широком характере
killall -9
. Если у вас нет базы данных или приложения на основе узлов или вы не против перезапустить их вручную, тогда все будет в порядке.Причина, по которой я оставляю этот подробный ответ на этот наполовину несвязанный вопрос, заключается в том, что я являюсь решением распространенной наполовину связанной проблемы, для решения которой, к сожалению, требуется 2 шага, но, к счастью, требуется только 2 шага, чтобы вернуться к работе.
Если вы хотите удалить хирургическим путем именно мусор Metro Bundler на порту 8081, выполните действия, указанные в ответе RC_02 , а именно:
(где 23583 - идентификатор процесса)
источник
Возьмите терминал и введите
Вы получите идентификатор процесса, который использует порт 8081. Теперь завершите процесс.
источник
Вы должны убить все процессы, запущенные на порту 8081,
kill -9 $(lsof -i:8081)
источник
Убедитесь, что на вашем компьютере уже запущен сервер Node, а затем закройте его.
источник
Попробуйте запустить другой порт, например 3131. Выполните команду:
источник
Это может быть связано с тем, что McAfee использует этот порт. Выполнение простого
lsof -i 8081
может не отображать приложение, и вам, возможно, придется выполнить sudo.Сделайте,
sudo lsof -i 8081
и если эта команда даст результат, вы можете убить его, используяsudo launchctl remove com.mcafee.agent.macmn
. После этого снова запустите упаковщик.источник
в моем случае интернет на эмуляторе не работает, так как на эмуляторе нет сигнала Wi-Fi. Сброс эмулятора сработал.
источник
Чтобы исправить эту проблему, процесс, который я упомянул ниже.
Отмените текущий процесс «run-android с реакцией», нажав CTRL + C или CMD + C
Закройте командную строку окна сборщика (терминала) метро, которая открылась автоматически.
Снова запустите команду на терминале: «react-native run-android
источник
Прежде всего, в вашем устройстве перейдите на Dev. Вариант -> ADB через сеть после этого:
(или run-ios, кстати)
Если это успешно, ваше устройство установило app-debug.apk, откройте app-debug и перейдите в Dev. Настройки -> Хост сервера отладки и порт для устройства , введите IP-адрес вашего компьютера (обычно, Системные настройки -> Сеть ), как в примере ниже < IP-адрес вашего компьютера > : 8081 (без неравенства)
наконец, выполните команду ниже
попробуйте другие порты и убедитесь, что ваш компьютер и ваше устройство находятся в одной сети.
источник