Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Resolução: Abrir o projeto

Primeiro seguir esse tutorial e configurar as variáveis de ambiente:

https://reactnative.dev/docs/environment-setup

Conforme sugestão de um colega do Forum:

Criar um projeto do zero em algum lugar do seu computador através do comando npx react-native init "nome do projeto" depois disso, você abre o projeto que foi disponibilizado pela Alura e copia a pasta SRC e cola dentro desse projeto novo. Depois você vai no Arquivo App.js do projeto antigo e copia todo o conteúdo dele, vai no projeto novo, no arquivo App.tsx apaga todo o conteúdo dele e cola o conteúdo do App.js . pronto.

Colar no arquivo package.json todas as dependências do projeto disponibilizado pela alura e depois rodar o comando: npm install

Rodar os comandos: npm install react-native-svg npm install --save-dev react-native-svg-transformer

E no meu caso, tive que rodar esse comando: $env:NODE_OPTIONS = "--openssl-legacy-provider"

Agora é só rodar o comando dentro da pasta do projeto novo: npx react-native start

E depois abrir o emulador, Android ou Ios e depois rodar: npx react-native run-android

3 respostas

Após rodar os dois comandos: npm install react-native-svg e o comando npm install --save-dev react-native-svg-transformer precisei alterar o o conteudo do arquivo metro.js.config seguindo a documentação desse site: https://github.com/kristerkari/react-native-svg-transformer tem 3 opções de código que podem ser adicionados no arquivo metro.js.config de acordo com a versão do react instalada.

No meu caso substitui TODO o arquivo metro.js.config por:

/**
 * Metro configuration for React Native
 * https://github.com/facebook/react-native
 *
 * @format
 */

module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: true,
      },
    }),
  },
};

const { getDefaultConfig } = require("metro-config");

module.exports = (async () => {
  const {
    resolver: { sourceExts, assetExts }
  } = await getDefaultConfig();
  return {
    transformer: {
      babelTransformerPath: require.resolve("react-native-svg-transformer")
    },
    resolver: {
      assetExts: assetExts.filter(ext => ext !== "svg"),
      sourceExts: [...sourceExts, "svg"]
    }
  };
})();
solução!

Oi Larissa, tudo bem?

Agradeço por compartilhar a solução para o problema que você encontrou no projeto. É bom saber que você identificou a causa raiz e encontrou uma maneira de corrigir o erro.

Valeu por compartilhar sua experiência e contribuir com a comunidade. :)

Um abraço e bons estudos.

Ajudou muito!!!

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