Ошибка сборки EAS при достижении «установить зависимости»

Я начал использовать React Native с экспо не так давно, поэтому я немного растерялся.

При попытке собрать приложение с помощью команды:

      eas build --profile development --platform android

Сборка завершается сбоем, когда она достигает части установки зависимостей

      Running "npm install" in the root dir of your repository 2[stderr] npm ERR! code ERESOLVE3[stderr] npm ERR!4[stderr] ERESOLVE could not resolve5[stderr] npm ERR! 6[stderr] npm ERR!7[stderr] While resolving: @react-native-firebase/auth@16.2.08[stderr] npm ERR! Found: @react-native-firebase/app@15.4.09[stderr] npm ERR! node_modules/@react-native-firebase/app10[stderr] npm ERR!   @react-native-firebase/app@"~15.4.0" from the root project11[stderr] npm ERR! 12[stderr] npm ERR! Could not resolve dependency:13[stderr] npm ERR! peer @react-native-firebase/app@"16.2.0" from @react-native-firebase/auth@16.2.014[stderr] npm ERR! node_modules/@react-native-firebase/auth15[stderr] npm ERR!   @react-native-firebase/auth@"^16.2.0" from the root project16[stderr] npm17[stderr] ERR! 18[stderr] npm ERR! Conflicting peer dependency: @react-native-firebase/app@16.2.019[stderr] npm ERR! node_modules/@react-native-firebase/app20[stderr] npm ERR!   peer @react-native-firebase/app@"16.2.0" from @react-native-firebase/auth@16.2.021[stderr] npm ERR!   node_modules/@react-native-firebase/auth22[stderr] npm ERR!     @react-native-firebase/auth@"^16.2.0" from the root project23[stderr] npm ERR! 24[stderr] npm ERR! Fix the upstream dependency conflict, or retry25[stderr] npm ERR! this command with --force, or --legacy-peer-deps26[stderr] npm ERR! to accept an incorrect (and potentially broken) dependency resolution.27[stderr] npm ERR! 28[stderr] npm ERR! See /home/expo/.npm/eresolve-report.txt for a full report.29[stderr] 30[stderr] npm ERR! A complete log of this run can be found in:31[stderr] npm ERR!     /home/expo/.npm/_logs/2022-11-26T18_50_07_398Z-debug-0.log32npm exited with non-zero code: 1

Пробовал очищать кеш и переустанавливать приложение. Когда я пытаюсьnpx expo start --dev-clientприложение работает нормально.

Это моеpackage.json:

      {
    "name": "wallet",
    "version": "1.0.0",
    "main": "node_modules/expo/AppEntry.js",
    "scripts": {
        "start": "expo start",
        "android": "expo start --android",
        "ios": "expo start --ios",
        "web": "expo start --web"
    },
    "dependencies": {
        "@react-native-firebase/app": "~15.4.0",
        "@react-native-firebase/auth": "^16.2.0",
        "@react-native-google-signin/google-signin": "^8.0.1",
        "@react-navigation/bottom-tabs": "^6.4.0",
        "@react-navigation/drawer": "^6.5.0",
        "@react-navigation/material-top-tabs": "^6.3.0",
        "@react-navigation/native": "^6.0.13",
        "@react-navigation/native-stack": "^6.9.1",
        "@rneui/base": "^4.0.0-rc.7",
        "@rneui/themed": "^4.0.0-rc.7",
        "expo": "~46.0.16",
        "expo-dev-client": "~1.3.1",
        "expo-font": "~10.2.0",
        "expo-linear-gradient": "~11.4.0",
        "expo-local-authentication": "~12.3.0",
        "expo-status-bar": "~1.4.0",
        "formik": "^2.2.9",
        "moment": "^2.29.4",
        "react": "18.0.0",
        "react-native": "0.69.6",
        "react-native-gesture-handler": "~2.5.0",
        "react-native-icon-badge": "^1.1.3",
        "react-native-linear-gradient": "^2.6.2",
        "react-native-pager-view": "^5.4.24",
        "react-native-reanimated": "~2.9.1",
        "react-native-recaptcha-that-works": "^1.3.2",
        "react-native-safe-area-context": "^4.3.1",
        "react-native-screens": "~3.15.0",
        "react-native-tab-view": "^3.3.0",
        "react-native-webview": "11.23.0",
        "styled-components": "^5.3.6"
    },
    "devDependencies": {
        "@babel/core": "^7.12.9"
    },
    "private": true
}

4 ответа

Сегодня я столкнулся с той же проблемой при сборке для производства. Я решил установить зависимости:

yarn install

После этого eas переключился на пряжу вместо использования npm для установки пакетов. Надеюсь, это работает для вас.

После изучения конкретных отсутствующих или конфликтующих зависимостей мне удалось решить проблему:

  1. удалениеnode_modules(от терминала) сrm -rf node_modules.
  2. обновление реагирует на версию 18.1.0
  3. Установите react-dom 18.1.0 После всего этого мне удалось собрать приложение с помощью EAS, но после того, как я его запустил, оно мгновенно вылетело без ошибок на моем устройстве.

после устранения ошибок моего устройства, подключив его к компьютеру, я увидел, что некоторые из моих экспо-зависимостей не обновляются, поэтому я использовал следующее:expo doctor --fix dependencies.

После этого приложение было окончательно. запуск правильно

Спасибо, @Kaosc, за то, что привели меня к этому исправлению.

Некоторые из вышеперечисленных вещей могут быть не связаны, но я так и сделал.

Удалите package-lock.json и повторите попытку.

Я сделал это в своем терминале в корне моего проекта:

      expo doctor

Это дало мне это:

      Expected package @expo/config-plugins@^5.0.2
Found invalid:
  @expo/config-plugins@4.0.6
  (for more info, run: npm why @expo/config-plugins)
Some dependencies are incompatible with the installed expo package version:
 - expo-status-bar - expected version: ~1.4.2 - actual version installed: 1.2.0
 - expo-updates - expected version: ~0.15.6 - actual version installed: 0.11.7
 - react - expected version: 18.1.0 - actual version installed: 18.2.0
 - react-dom - expected version: 18.1.0 - actual version installed: 17.0.1
 - react-native - expected version: 0.70.5 - actual version installed: 0.70.6
 - react-native-reanimated - expected version: ~2.12.0 - actual version installed: 2.13.0
 - react-native-safe-area-context - expected version: 4.4.1 - actual version installed: 3.3.2
 - react-native-screens - expected version: ~3.18.0 - actual version installed: 3.10.2
 - react-native-web - expected version: ~0.18.9 - actual version installed: 0.17.1
 - react-native-webview - expected version: 11.23.1 - actual version installed: 11.15.0
Your project may not work correctly until you install the correct versions of the packages.
To install the correct versions of these packages, please run: expo doctor --fix-dependencies,
or install individual packages by running expo install [package-name ...]

Затем я сделал это:

      expo doctor --fix-dependencies

Затем я делаю это и больше никаких ошибок:

      Expected package @expo/config-plugins@^5.0.2
Found invalid:
  @expo/config-plugins@4.0.6
  (for more info, run: npm why @expo/config-plugins)
Some dependencies are incompatible with the installed expo package version:
 - expo-status-bar - expected version: ~1.4.2 - actual version installed: 1.2.0
 - expo-updates - expected version: ~0.15.6 - actual version installed: 0.11.7
 - react - expected version: 18.1.0 - actual version installed: 18.2.0
 - react-dom - expected version: 18.1.0 - actual version installed: 17.0.1
 - react-native - expected version: 0.70.5 - actual version installed: 0.70.6
 - react-native-reanimated - expected version: ~2.12.0 - actual version installed: 2.13.0
 - react-native-safe-area-context - expected version: 4.4.1 - actual version installed: 3.3.2
 - react-native-screens - expected version: ~3.18.0 - actual version installed: 3.10.2
 - react-native-web - expected version: ~0.18.9 - actual version installed: 0.17.1
 - react-native-webview - expected version: 11.23.1 - actual version installed: 11.15.0

This command is being executed with the global Expo CLI. Learn more: https://blog.expo.dev/the-new-expo-cli-f4250d8e3421
To use the local CLI instead (recommended in SDK 46 and higher), run:
› npx expo install

Installing 10 SDK 47.0.0 compatible native modules using npm.
> npm install

added 10 packages, removed 97 packages, changed 33 packages, and audited 1216 packages in 2m

57 packages are looking for funding
  run `npm fund` for details

7 vulnerabilities (1 low, 5 high, 1 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
Другие вопросы по тегам