Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Estava tendo o seguinte erro ao iniciar o React

O erro que tinha

events.js:352 throw er; // Unhandled 'error' event ^

Error: spawn cmd ENOENT at Process.ChildProcess.handle.onexit (internal/childprocess.js:269:19) at onErrorNT (internal/child_process.js:467:16) at processTicksAndRejections (internal/process/task_queues.js:82:21) Emitted 'error' event on ChildProcess instance at: at Process.ChildProcess.handle.onexit (internal/childprocess.js:275:12) at onErrorNT (internal/child_process.js:467:16) at processTicksAndRejections (internal/process/task_queues.js:82:21) { errno: -4058, code: 'ENOENT', syscall: 'spawn cmd', path: 'cmd', spawnargs: [ '/s', '/c', 'start', '""', '/b', '"http://localhost:3000"' ] } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! ceep@0.1.0 start: react-scripts start npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the ceep@0.1.0 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Allas\AppData\Roaming\npm-cache_logs\2021-09-22T19_31_49_728Z-debug.log

Como resolvi? Mesmo tendo o npm instalado no pc tanto no global como no meu usuario mesmo ele ainda estava dando erro ao iniciar o react, tentei no pc e no notbook e nada, até que instalei o npm na propria pasta do projeto e iniciou. O comando para instalação do npm é npm install, digite no cmd ou pwsh( powerShell ) e instale o npm na propria pasta do projeto. Não sei se existe outro método para resolução deste problema que tive, mas se tiver outra resolução postem aqui pra mim.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Olá, Allas! Tudo bem?

Instalar o npm e rodar npm install são duas coisas diferentes.

O npm é um gerenciador de pacotes, pense nele como uma loja de aplicações, mas no lugar de aplicações, temos várias bibliotecas de código-aberto. Precisamos instalar o npm na máquina para poder usá-lo, porque ele é um programa. O comando npm está ligado a vários arquivos que são salvos na sua máquina ao instalar o gerenciador.

O React e todas as outras bibliotecas que compõe um projeto estão disponíveis no npm, em diversas versões. Nós usamos o npm install para instalar a biblioteca em um projeto, essa biblioteca é salva no node_modules, uma pasta especial do projeto. Para instalar o React, por exemplo, podemos fazer npm install react, e a biblioteca será adicionada. Ao mesmo tempo que os arquivos são salvos na pasta, o npm cria uma linha no arquivo package.json, contendo o nome da biblioteca, e a versão que foi instalada. Chamamos essas bibliotecas de dependências.

Como as dependências possuem várias versões que o npm pode baixar, e geralmente vários desenvolvedores trabalham no mesmo projeto, esse arquivo package.json serve para guardar quais dependências são necessárias para rodar o projeto, e quais as versões.

Quando subimos um projeto para o GitHub, GitLab ou BitBucket, nós não subimos a pasta node_modules, pois é muito pesada. Assim, quando uma pessoa baixa o projeto pelo Git, ela precisa instalar todas as dependências do projeto. Ela pode fazer isso com npm install, sem nenhum nome de biblioteca, e o npm irá ler o package.json e instalar todas as dependências nas versões especificadas.

Resumindo:

  • O npm é um programa que gerencia pacotes, ele possui sua própria node_modules, mas geralmente instalamos os pacotes apenas nos projetos.
  • Os pacotes em si precisam ser instalados se forem usados pelo projeto, se você baixou o projeto, provavelmente não tem a node_modules do projeto e consequentemente terá erros.
  • Se você rodar npm install o npm verifica quais pacotes foram instalados no projeto em outras máquinas e que precisam ser instalados na sua.

O que pode ter acontecido é que houve algum erro na geração do seu projeto, que é feita pelo Create React App. Internamente, ele roda o npm e instala as dependências. Ao rodar npm install, caso alguma dependência tenha sido salva no package.json mas não foi baixada no node_modules, ela foi baixada corretamente.

Achei importante fazer essa observação para não gerar dúvidas no futuro.

Caso o problema ocorra de novo, não hesite em recorrer ao fórum! Bons estudos!