2
respostas

[Bug] Erro no comando npx react-native start

Tentei executar o comando npx react-native start e da o erro abaixo. Executei o npm start -- --reset-cache, e da erro também.

Infos importantes

  • Node.js v20.10.0.
  • openjdk 11.0.21 2023-10-17
  • OpenJDK Runtime Environment Temurin-11.0.21+9 (build 11.0.21+9)
  • OpenJDK 64-Bit Server VM Temurin-11.0.21+9 (build 11.0.21+9, mixed mode)
  • Chocolatey v2.2.2

C:\Alura\React-Native\orgsHooks>npx react-native start

                    #######
               ################
            #########     #########
        #########             ##########
    #########        ######        #########
   ##########################################
  #####      #####################       #####
  #####          ##############          #####
  #####    ###       ######       ###    #####
  #####    #######            #######    #####
  #####    ###########    ###########    #####
  #####    ##########################    #####
  #####    ##########################    #####
  #####      ######################     ######
   ######        #############        #######
     #########        ####       #########
          #########          #########
              ######### #########
                   #########


                Welcome to Metro!
          Fast - Scalable - Integrated

To reload the app press "r" To open developer menu press "d"

Failed to construct transformer: Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:68:19) at Object.createHash (node:crypto:138:10) at stableHash (C:\Alura\React-Native\orgsHooks\node_modules\metro-cache\src\stableHash.js:19:8) at Object.getCacheKey (C:\Alura\React-Native\orgsHooks\node_modules\metro-transform-worker\src\index.js:593:7) at getTransformCacheKey (C:\Alura\React-Native\orgsHooks\node_modules\metro\src\DeltaBundler\getTransformCacheKey.js:24:19) at new Transformer (C:\Alura\React-Native\orgsHooks\node_modules\metro\src\DeltaBundler\Transformer.js:48:9) at C:\Alura\React-Native\orgsHooks\node_modules\metro\src\Bundler.js:22:29 { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }

2 respostas

Olá, Andrey!

O erro que você está enfrentando ao executar o comando "npx react-native start" parece estar relacionado a um problema com o OpenSSL. Esse erro geralmente ocorre quando a versão do OpenSSL não é compatível com a versão do Node.js que você está usando.

Uma possível solução para esse problema é atualizar a versão do Node.js para uma versão mais recente. Certifique-se de instalar a versão mais recente do Node.js que seja compatível com o React Native.

Outra solução é verificar se você possui as dependências corretas instaladas. Certifique-se de ter o OpenSSL instalado corretamente em seu sistema.

Além disso, verifique se todas as dependências do projeto estão instaladas corretamente. Execute o comando "npm install" para garantir que todas as dependências estejam atualizadas.

Qualquer coisa manda aqui de novo. Espero ter ajudado e bons estudos!

Olá, Renan!

Esse erro geralmente ocorre quando a versão do OpenSSL não é compatível com a versão do Node.js que você está usando. Como saber a versão correta?

Atualizar a versão do Node.js para uma versão mais recente. Certifique-se de instalar a versão mais recente do Node.js que seja compatível com o React Native. Versão do node instalada na minha máquina, na documentação do React Native fala isso: "If you have already installed Node on your system, make sure it is Node 18 or newer.", então estou de acordo com o que solicitam.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Outra solução é verificar se você possui as dependências corretas instaladas Como fazer isso?

Certifique-se de ter o OpenSSL instalado corretamente em seu sistema. Instalei essa versão: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Execute o comando "npm install" para garantir que todas as dependências estejam atualizadas. Executar dentro da pasta onde tem os arquivos do projeto (App.js, etc)? Se for isso, eu executei e apareceu isso

PS C:\Alura\React-Native\orgsHooks> npm install       

up to date, audited 1234 packages in 9s

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

2 critical severity vulnerabilities

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

Run `npm audit` for details.
PS C:\Alura\React-Native\orgsHooks>

aí executei o comando npx react-native start:

PS C:\Alura\React-Native\orgsHooks> npx react-native start

                        #######
                   ################
                #########     #########
            #########             ##########
        #########        ######        #########
       ##########################################
      #####      #####################       #####
      #####          ##############          #####
      #####    ###       ######       ###    #####
      #####    #######            #######    #####
      #####    ###########    ###########    #####
      #####    ##########################    #####
      #####    ##########################    #####
      #####      ######################     ######
       ######        #############        #######
         #########        ####       #########
              #########          #########
                  ######### #########
                       #########


                    Welcome to Metro!
              Fast - Scalable - Integrated



To reload the app press "r"
To open developer menu press "d"

Failed to construct transformer:  Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:68:19)
    at Object.createHash (node:crypto:138:10)
    at stableHash (C:\Alura\React-Native\orgsHooks\node_modules\metro-cache\src\stableHash.js:19:8)
    at Object.getCacheKey (C:\Alura\React-Native\orgsHooks\node_modules\metro-transform-worker\src\index.js:593:7)
    at getTransformCacheKey (C:\Alura\React-Native\orgsHooks\node_modules\metro\src\DeltaBundler\getTransformCacheKey.js:24:19)      
    at new Transformer (C:\Alura\React-Native\orgsHooks\node_modules\metro\src\DeltaBundler\Transformer.js:48:9)
    at C:\Alura\React-Native\orgsHooks\node_modules\metro\src\Bundler.js:22:29 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

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