2
respostas

[Dúvida] Erro ao baixar dependências - gerenciamento de estados globais com redux*

Boa noite

Estou iniciando o curso de 'gerenciamento de estados globais com redux' a após clonar o projeto e baixar as dependências via 'npm i' ocorreu o seguinte erro

PS D:\estudo\react\alura\ReactNative-Redux\estadosGlobais-Redux\jornada-milhas-redux-master> npm i npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: jornada-milhas@1.0.0 npm ERR! Found: expo@48.0.18 npm ERR! node_modules/expo npm ERR! expo@"~48.0.18" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer expo@">=47.0.0-beta.0 <48" from expo-community-flipper@48.0.0 npm ERR! node_modules/expo-community-flipper npm ERR! expo-community-flipper@"^48.0.0" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! npm ERR! For a full report see: npm ERR! C:\Users\mim\AppData\Local\npm-cache_logs\2024-01-08T22_38_56_777Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\mim\AppData\Local\npm-cache_logs\2024-01-08T22_38_56_777Z-debug-0.log

obrigado

2 respostas

Olá!

Parece que você está enfrentando um problema com a resolução de dependências do npm. O erro ERESOLVE geralmente ocorre quando há conflitos entre as versões das dependências que você está tentando instalar.

No seu caso, parece que o pacote 'expo-community-flipper' requer uma versão do 'expo' que seja maior ou igual a '47.0.0-beta.0' e menor que '48', mas a versão do 'expo' que você tem no seu projeto é '48.0.18', o que está causando o conflito.

Existem algumas maneiras de resolver esse problema:

  1. Atualizar a versão do pacote problemático. Se possível, você pode tentar atualizar o pacote 'expo-community-flipper' para uma versão que seja compatível com a versão '48.0.18' do 'expo'. Para isso, você pode usar o comando npm install expo-community-flipper@latest.

  2. Instalar uma versão específica do pacote 'expo'. Outra opção é instalar uma versão específica do 'expo' que seja compatível com a versão atual do 'expo-community-flipper'. Para isso, você pode usar o comando npm install expo@47.0.0-beta.0.

  3. Usar a flag --force ou --legacy-peer-deps. Como a mensagem de erro sugere, você pode tentar forçar a instalação das dependências com o comando npm install --force ou npm install --legacy-peer-deps. No entanto, isso pode levar a problemas de dependências quebradas no futuro, então use com cuidado.

Lembre-se de sempre fazer backup do seu projeto antes de fazer alterações significativas nas dependências para evitar a perda de qualquer trabalho.

Espero ter ajudado e bons estudos!

Infelizmente não resolveu, para ambas situações 'npm i --force' ou 'npm i --legacy-peer-deps' ao executar tive a seguinte mensagem ''

› Opening on Android... CommandError: No development build (com.anonymous.jornadamilhas) for this project is installed. Please make and install a development build on the device first. Learn more: https://docs.expo.dev/development/build/

após isso tentei baixar a versão do package.json para "expo": "47.0.0" e ao executar npm start ocorreu

jornada-milhas@1.0.0 start expo start --dev-client

Starting project at D:\estudo\react\alura\ReactNative-Redux\estadosGlobais-Redux\jornada-milhas-redux-master √ It looks like you're trying to use TypeScript but don't have the required dependencies installed. Would you like to install @types/react-native@~0.70.6? ... yes

› Installing 1 SDK 47.0.0 compatible native module using Yarn

yarn add @types/react-native@~0.70.6

  • Installing @types/react-native@0.70.6'yarnpkg' nao � reconhecido como um comando interno ou externo, um programa oper�vel ou um arquivo em lotes. × Failed to install @types/react-native@0.70.6 with error: spawn yarnpkg ENOENT Error: spawn yarnpkg ENOENT Error: spawn yarnpkg ENOENT at notFoundError (D:\estudo\react\alura\ReactNative-Redux\estadosGlobais-Redux\jornada-milhas-redux-master\node_modules\cross-spawn\lib\enoent.js:6:26) at verifyENOENT (D:\estudo\react\alura\ReactNative-Redux\estadosGlobais-Redux\jornada-milhas-redux-master\node_modules\cross-spawn\lib\enoent.js:40:16) at cp.emit (D:\estudo\react\alura\ReactNative-Redux\estadosGlobais-Redux\jornada-milhas-redux-master\node_modules\cross-spawn\lib\enoent.js:27:25) at ChildProcess._handle.onexit (node:internal/child_process:291:12)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software