Rocketseat Docs
Android / iOS
Android / iOS
Lista de erros comuns enfrentados em Android e iOS.
The development server returned response error code: 500
Geralmente esse erro acontece quando você tenta importar um arquivo JS que não possui export default
ou não possui nenhum componente dentro dele.
Primeiramente cheque todos arquivos e importações recentes que você fez para garantir que todos possuem import/exports e seus devidos componentes.
Caso isso não resolva, feche a janela do terminal Metro Bundler que abre automaticamente com o run-ios/run-android
e na pasta do seu projeto execute:
npx react-native start --reset-cache
# Ou yarn run react-native start --reset-cache# Ou yarn start --reset-cache
Esse comando irá limpar o cache do React Native provavelmente resolvendo o erro.
internal/modules/cjs/loader.js ... throw error cannot find module ...
Caso você receba um erro desse tipo, verifique se o caminho do seu projeto é um caminho válido. Ele não é um caminho válido se possuir espaço ou caracteres especiais. Exemplos:
C:\Pasta com espaco\projeto ## caminho inválidoC:\PastaInválida\projeto ## caminho inválidoC:\www\rocketseat\gostack\mobile\projeto ## caminho válido
Error: Network Error
Esse é um erro comum ao utilizar requisições http, normalmente com o axios. Verifique algumas coisas:
1 - Verifique se você instanciou corretamente o seu axios, principalmente se você escreveu baseURL e não baseUrl. Segue um exemplo:
import axios from "axios";
const api = axios.create({ baseURL: "http://IP_DO_ENDPOINT:PORTA",});
export default api;
2 - Para poder usar o localhost em vez do ip no android, é preciso executar o seguinte comando:
adb reverse tcp:XXXX tcp:XXXX
onde o XXXX representa o número da porta que você deseja permitir a comunicação entre o dispositivo e a sua máquina (ex.: 3333 caso a porta do seu servidor seja 3333)
3 - Caso queira utilizar o ip, dê uma olhada nesses casos:
- Dispositivo físico: utilize o ip local da sua máquina (normalmente inicia em 192.168);
- Emulador Android Studio: utilize o ip 10.0.2.2;
- Emulador Genymotion: utilize o ip 10.0.3.2.
4 - Verifique se você está informando o caminho correto nas suas chamadas http;
5 - Verifique se o seu backend ou endpoint está rodando e recebendo requisições normalmente.
Error "code":"ENOSPC","errno":"ENOSPC"
Esse erro é causado pela quantidade de diretórios que o inotify consegue monitorar. Para resolver isso, execute o seguinte comando:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
npm WARN locking Error: EACCES
Caso você se depare com esse erro de permissão, faça o seguinte
- Windows: abra o Powershell como admin e tente rodar o comando novamente.
- Linux/Mac OS: execute os comandos abaixo:
sudo chown -R $USER ~/.npmsudo chown -R $USER /usr/local/lib/node_modules
Error: listen EADDRINUSE :::8081
Quando esse erro acontecer, significa que a porta 8081 já está sendo utilizada. Provavelmente já existe algum terminal rodando o Metro Bundler do seu projeto, basta encerrá-lo e tentar novamente. Porém, caso não encontre esse processo rodando, você pode encerrá-lo manualmente com o seguinte comando:
## Para Windowstaskkill /f /im node.exe
## Para Linux/Mac OSpkill node
npm ERR! code ELIFECYCLE
Para resolver esse erro, execute:
1 - Delete a pasta node_modules e o arquivo package-lock.json
2 - Execute os comandos
npm cache clean --Forcenpm install
E tente executar o projeto novamente.
Edit this page on GitHub