Исправить ConfigError package.json при npx expo start в Expo
Пошаговое решение ошибки ConfigError 'package.json не существует' в React Native Expo при npx expo start --lan. Фикс пути, package.json, сети для Expo Go, бесконечной загрузки и синего экрана. Проверено на SDK 50.
Как исправить ошибку 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
- Проверка директории проекта перед npx expo start
- Корректировка package.json для стабильного expo start
- Решение бесконечной загрузки в приложении expo go
- Настройка сети для npx expo start --lan и expo go react native
- Дополнительные инструменты: expo-doctor и очистка кэша expo go
- Профилактика ошибок в проектах react native expo
- Источники
- Заключение
Что вызывает ошибку 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 внутри.
Если нет — вот план:
- Откройте терминал в корне: в VS Code кликните правой на package.json → “Open in Integrated Terminal” (или `Ctrl+`` и cd).
- Проверьте наличие:
ls(macOS/Linux) илиdir(Windows). Видите app.json, package.json? Отлично. - Если 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? Забудьте.
Шаги:
- Оба устройства в одну сеть (не гостьевую).
- Отключите VPN, firewall (Windows Defender → Разрешить expo).
- IP вашего ПК:
ipconfig(Windows) илиifconfig. В Expo CLI нажмите ‘l’ для LAN URL. - 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 — для прототипов, потом на нативную сборку.
Источники
- 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
- expo start fails with ConfigError — Фиксация версий зависимостей в package.json: https://github.com/expo/expo/issues/22767
- 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
- Package.json — Настройка package.json и exclude в Expo документации: https://docs.expo.dev/versions/latest/config/package-json/
- 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, и вы в деле. Главное — тестируйте последовательно, и разработка полетит. Удачи с проектом!
Ошибка ConfigError при expo start в react native expo возникает, если терминал не в директории проекта. Проверьте текущий путь командой echo "Current Location is %cd%" в Windows. Убедитесь, что папка с package.json совпадает с расположением терминала, и запустите npx expo start заново. Это распространенная проблема для новичков в Expo.
В проектах 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.
Для исправления ConfigError “package.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. Подробнее в официальной документации.
Бесконечная загрузка или синий экран в expo go app при npx expo start --lan возникает из-за разных сетей: подключите телефон и ПК к одной Wi-Fi, отключите VPN. Очистите кэш Expo Go в настройках приложения. Для скачивания expo go обновите приложение; протестируйте в web-режиме expo start. Это решает большинство проблем с expo go react native.