У CLI Upgrade Expo есть неизвестная ошибка --assetPlugins

Я обновляю до последней версии Expo CLI 2.19.2 и пытаюсь обновить приложение expo с помощью SDK 33.

Когда я позвонил на выставку, у меня появилось сообщение:

Открытие DevTools в браузере... (нажмите shift-d, чтобы отключить) ошибка: неизвестный параметр '--assetPlugins'

Процесс Metro Bundler завершился с кодом 1 Установите EXPO_DEBUG = true в вашем env для просмотра трассировки стека.

Я попытался установить EXPO_DEBUG = true на Mac, но не показывает никаких подробностей отладки при повторном запуске expo.

Я нашел это, я должен назвать экспорт EXPO_DEBUG = true

Вот дополнительное сообщение:

ошибка: неизвестная опция '--assetPlugins'

Процесс Metro Bundler завершился с кодом 1 Ошибка: процесс Metro Bundler завершился с кодом 1 в ChildProcess. (/@expo/[email protected]/src/Project.js:1598:16) в Generator.next() на шаге (/Users/simonlam/.nvm/versions/node/v11.6.0/lib/node_modules/expo-cli/node_modules/@expo/xdl/build/Project.js: 2347: 191) в /Users/simonlam/.nvm/versions/node/v11.6.0/lib/node_modules/expo-cli/node_modules/@expo/xdl/build/Project.js:2347:437 в новом Promise() в ChildProcess. (/Users/simonlam/.nvm/versions/node/v11.6.0/lib/node_modules/expo-cli/node_modules/@expo/xdl/build/Project.js:2347:99) в ChildProcess.packagerProcess.once(/@expo/xdl @54.1.2/src/Project.js: 1595: 5) в Object.onceWrapper(events.js: 276: 13) в ChildProcess.emit(events.js: 188: 13) в Process.ChildProcess. _handle.onexit(internal/child_process.js: 254: 12)

Ответ 1

Не забудьте также обновить "act-native "до версии 33.

yarn add [email protected]://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz

Также проверьте, что "jest-expo" был обновлен, и вы измените "sdkVersion" в app.json, чтобы он соответствовал SDK 33.

Ответ 2

Проблема связана с несоответствием версий в package.json и app.json в вашем выставочном проекте. Вам нужно выполнить обновления, как указано ниже,

  1. Обновите версию Expo SDK

    Откройте файл app.json из проекта и измените sdkVersion на 33.0.0

  2. Обновите свои зависимости

    Откройте файл package.json и обновите следующие зависимости,

    • Обновите jest-expo до ^ 33.0.0 в devDependencies
    • Обновите react-native до ^ 0.59.10 в dependencies
    • Обновите expo до ^ 33.0.0 в dependencies
    • Обновите react до ^ 16.8.3 в dependencies

После внесения изменений запустите npm install, а затем запустите проект, очистив старый кеш сборки js, запустив expo r -c, и все будет хорошо. Metro Bundler вылетит, только если у вас несоответствие версии SDK. Для получения дополнительной информации вы можете прочитать Обновление Expo SDK Step by Step

Ответ 3

У меня было это пару раз, и это всегда кажется немного загадочным. По моему опыту это либо несоответствие пакета, либо вам нужно очистить кеш экспо.

Тройная проверка, у вас есть правильные версии в вашем package.json. https://docs.expo.io/versions/latest/workflow/upgrading-expo-sdk-walkthrough/#sdk-33

Удалите все связанные с экспозицией папки и запустите экспо с очищенным кешем

rm -rf node_modules/* && npm я && expo start -c