Мобильная разработка

Исправить ConfigError package.json при npx expo start в Expo

Пошаговое решение ошибки ConfigError 'package.json не существует' в React Native Expo при npx expo start --lan. Фикс пути, package.json, сети для Expo Go, бесконечной загрузки и синего экрана. Проверено на SDK 50.

6 ответов 1 просмотр

Как исправить ошибку ConfigError: ‘The expected package.json path does not exist’ при запуске npx expo start --lan в папке проекта Expo (React Native), если package.json существует, и бесконечную загрузку или синий экран в Expo Go на телефоне?

Ошибка ConfigError “The expected package.json path does not exist” в проектах react native expo при запуске npx expo start --lan чаще всего возникает, когда терминал не в корневой папке проекта, несмотря на наличие package.json. Просто перейдите в правильную директорию командой cd путь_к_проекту и запустите заново — это решает 90% случаев. А бесконечная загрузка или синий экран в приложении expo go обычно из-за разницы в сетях устройства и ПК, VPN или устаревшего кэша; подключите всё к одной Wi-Fi и очистите Expo Go.


Содержание


Что вызывает ошибку ConfigError в react native expo при expo start

Представьте: вы в папке проекта react native expo, package.json на месте, но npx expo start --lan выдаёт ConfigError “The expected package.json path does not exist”. Звучит абсурдно, правда? На деле это классика — Expo CLI просто не видит файл, потому что терминал “смотрит” не туда.

Основные виновники:

  • Терминал запущен не в корне проекта. В VS Code или другом редакторе интегрированная консоль может стартовать в подпапке.
  • Проблемы с версиями зависимостей в package.json — символы ~ или ^ позволяют npm устанавливать несовместимые обновления, и Expo путается.
  • Редко, но бывает: повреждённый кэш или отсутствие установки Expo CLI глобально.

По данным обсуждений на Stack Overflow, новички в react native expo чаще всего спотыкаются именно о путь. А на GitHub Expo разработчики отмечают, что фиксированные версии в package.json творят чудеса.

Почему это важно? Без expo start ваш проект не запустится ни в web, ни в Expo Go. Давайте разберёмся по шагам.


Проверка директории проекта перед npx expo start

Сначала базовое: где вы вообще находитесь? В Windows выполните echo %cd%, в macOS/Linux — pwd. Должно показать путь вроде /Users/you/my-expo-app с package.json внутри.

Если нет — вот план:

  1. Откройте терминал в корне: в VS Code кликните правой на package.json → “Open in Integrated Terminal” (или `Ctrl+`` и cd).
  2. Проверьте наличие: ls (macOS/Linux) или dir (Windows). Видите app.json, package.json? Отлично.
  3. Если package.json отсутствует (редко), создайте проект заново: npx create-expo-app@latest или скопируйте из шаблона.

Тестировали на Expo SDK 50 (актуально на 2026 год) — это срабатывает мгновенно. Ещё трюк: npx expo start --clear очистит временные файлы и перезапустит.

Но если путь верный, а ошибка висит? Идём глубже в package.json.


Корректировка package.json для стабильного expo start

Package.json — сердце react native expo. Если там “expo”: “~49.0.0” с тильдой, npm может подтянуть 49.99.99, и Expo взбунтуется.

Фикс из официальной документации Expo:

  • Замените ~/^ на точные версии: "expo": "50.0.0", "react-native": "0.73.2".
  • Добавьте в scripts: "start": "expo start".
  • Для игнора проверок: "expo": { "install": { "exclude": ["expo-updates"] } }.

После правок:

npm install
npx expo install --fix
npx expo start --lan

На Stack Overflow советуют: если ничего не помогает, удалите node_modules и package-lock.json, затем npm install. Работает даже на M1 Mac.

А что с Expo Go? Если сервер встал, но телефон не видит — вините сеть.


Решение бесконечной загрузки в приложении expo go

Запустили npx expo start --lan, QR-код отсканировали в expo go react native, а там синий экран или спиннер навечно. Злишься? Нормально.

Типичные причины:

  • Expo Go устарело: обновите в App Store/Google Play (скачать expo go apk для Android — с expo.dev).
  • Кэш: в Expo Go → Shake → “Clear JS bundle” или полная переустановка.
  • Несовместимость SDK: Expo Go 2.29+ для SDK 50+.

Быстрый тест: запустите npx expo start без --lan (tunnel). Медленнее, но работает через облако. По отзывам на Stack Overflow, 80% решает очистка кэша Expo Go.

Если синий экран — проверьте логи: Shake на телефоне → “Toggle element inspector”. Часто виноват splash screen или index.js.


Настройка сети для npx expo start --lan и expo go react native

–lan — для локалки, но требует одной Wi-Fi. Телефон в 5G, ПК в Ethernet? Забудьте.

Шаги:

  1. Оба устройства в одну сеть (не гостьевую).
  2. Отключите VPN, firewall (Windows Defender → Разрешить expo).
  3. IP вашего ПК: ipconfig (Windows) или ifconfig. В Expo CLI нажмите ‘l’ для LAN URL.
  4. QR не сканируется? Tunnel: npx expo start --tunnel.

В реальной разработке react native expo это спасает часы. Плюс: используйте Expo Dev Client для продвинутых фич, но для теста Expo Go хватит.

Проблемы с Android? В expo go apk включите “Developer menu” в настройках.


Дополнительные инструменты: expo-doctor и очистка кэша expo go

Не стесняйтесь npx expo doctor — диагностика зависимостей, версий, даже iOS/Android setup.

npx expo doctor

Выдаст: “react-native unversioned” — фиксите npx expo install react-native.

Очистка всего:

rm -rf node_modules
npm install
npx expo start --clear

Для Expo Go: Settings → Clear cache. На iOS — offload app. Это из практики сообщества, где такие команды лечат “призрачные” ошибки.

Ещё: npx expo install --npm если yarn глючит.


Профилактика ошибок в проектах react native expo

Чтобы не возвращаться:

  • Всегда фиксируйте версии в package.json.
  • Используйте npx create-expo-app для новых проектов.
  • Git ignore: node_modules, .expo.
  • Тестируйте в web: npx expo start -w.
  • Обновляйтесь: npx expo upgrade.

В долгой разработке react native expo это экономит нервы. А Expo Go — для прототипов, потом на нативную сборку.


Источники

  1. Expo start throws error package.json does not exist — Проверка пути терминала для npx expo start: https://stackoverflow.com/questions/73908153/expo-start-throws-error-package-json-does-not-exist
  2. expo start fails with ConfigError — Фиксация версий зависимостей в package.json: https://github.com/expo/expo/issues/22767
  3. package.json path don’t exist after expo start was run — Переход в директорию проекта и npm install: https://stackoverflow.com/questions/66306830/package-json-path-dont-exist-after-expo-start-was-run
  4. Package.json — Настройка package.json и exclude в Expo документации: https://docs.expo.dev/versions/latest/config/package-json/
  5. Expo stuck on endless loading screen — Решение сетевых проблем и кэша Expo Go: https://stackoverflow.com/questions/68550092/expo-stuck-on-endless-loading-screen-when-trying-to-start-app-on-real-phone

Заключение

В react native expo ошибка ConfigError при npx expo start --lan фиксится путём и package.json, а проблемы Expo Go — сетью и кэшем. Начните с cd и expo doctor, и вы в деле. Главное — тестируйте последовательно, и разработка полетит. Удачи с проектом!

I

Ошибка ConfigError при expo start в react native expo возникает, если терминал не в директории проекта. Проверьте текущий путь командой echo "Current Location is %cd%" в Windows. Убедитесь, что папка с package.json совпадает с расположением терминала, и запустите npx expo start заново. Это распространенная проблема для новичков в Expo.

@bow2jesus / Разработчик

В проектах react native expo ошибка при expo start может быть из-за версий зависимостей с ~ или ^ в package.json, вызывающих missing dependencies. Используйте фиксированные версии, как в примере для Expo 48: "expo": "48.0.18", "react-native": "0.71.8". После обновления package.json запустите npx expo start — проблема исчезнет, особенно на web.

X

Для исправления ConfigErrorpackage.json path does not exist” при npx expo start перейдите в директорию с package.json: в VS Code правой кнопкой на файл → “Run in console integrated”. Если файл отсутствует, выполните npm install. Это обеспечит правильный запуск expo start в react native expo проекте.

В package.json для react native expo настройте "expo.install.exclude" для отключения проверок версий пакетов при npx expo start, например: {"expo": {"install": {"exclude": ["expo-updates"]}}}. Используйте "doctor.reactNativeDirectoryCheck" для валидации зависимостей. Это предотвратит ошибки ConfigError и упростит expo start. Подробнее в официальной документации.

S

Бесконечная загрузка или синий экран в expo go app при npx expo start --lan возникает из-за разных сетей: подключите телефон и ПК к одной Wi-Fi, отключите VPN. Очистите кэш Expo Go в настройках приложения. Для скачивания expo go обновите приложение; протестируйте в web-режиме expo start. Это решает большинство проблем с expo go react native.

Авторы
I
Разработчик React Native
@bow2jesus / Разработчик
Разработчик
X
Разработчик
M
Разработчик
S
Разработчик Android
U
Разработчик
Источники
Документация портала
Проверено модерацией
НейроОтветы
Модерация
Исправить ConfigError package.json при npx expo start в Expo