У 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
в вашем выставочном проекте. Вам нужно выполнить обновления, как указано ниже,
Обновите версию Expo SDK
Откройте файл app.json
из проекта и измените sdkVersion
на 33.0.0
Обновите свои зависимости
Откройте файл 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