'react-scripts' não é reconhecido como um comando interno ou externo

101

Eu tenho um projeto maven, dentro do qual está o projeto JavaScript clonado como um submódulo git. Portanto, a estrutura do diretório parece algo como

mavenapp/src/main/javascript/[npm project files]

dentro do meu package.json, o teste se parece com isto: "test": "react-scripts test --env=jsdom",

mas quando tento executar o teste npm diz

'react-scripts' não é reconhecido como um comando interno ou externo,

Curiosamente, quando clono o projeto javascript independentemente, não recebo esse erro. Tentei executar novamente npm install.

npm version : 5.5.1

node version : 9.3.0

J Smith
fonte
embora já tenha contornado esse problema, entendo que ele chamou um pouco de atenção e, como tal, pode ser útil marcar uma resposta como a correta ... aberto a sugestões da comunidade sobre de quem seria .
J Smith

Respostas:

90

É um erro sobre o arquivo react-scripts ausente no diretório de módulos do nó no momento da instalação.

Verifique se a dependência do react -script está disponível ou não no package.json

Se não estiver disponível, adicione manualmente por meio de:

npm install react-scripts --save

Yogesh Borad
fonte
12
NÃO faça isso, isso pode causar problemas com outros projetos ... você NÃO deve instalar os react-scripts globalmente como este. Consulte aqui: github.com/facebook/create-react-app/issues/…
Rosdi Kasim
5
@RosdiKasim Depois de ler seu comentário, percebi meu erro. Agora, mudei o comando para o projeto específico em vez de globalmente (-g).
Yogesh Borad
Nada muda para mim, continua o mesmo erro. Executar "npm install react-scripts --save" mesmo se for bem-sucedido não cria nenhuma pasta react-scripts na pasta npm_modules. Estou no Windows10
Giox
@RosdiKasim, com base em seu comentário, você deve seguir o final do tópico no Github. Eu estava executando o mesmo problema e resolvi isso fazendo assim stackoverflow.com/a/54403797/8719007 (a resposta abaixo)
Serge Kishiko
47

Você tentou:

rm -rf node_modules && npm install

Limpar node_modulesprimeiro, geralmente tende a corrigir muitos problemas estranhos relacionados a pacotes como o do Node.

Jonny Asmar
fonte
2
sim eu tenho ... nenhuma diferença ... Por agora eu tive que apenas remover o submódulo e apenas colá-lo manualmente.
J Smith
Hmm, você não está vendo nenhum erro registrado, npm installestá? Tente executar um npm install -fe veja se algo muda. Pode ser outro pacote que está falhando ao instalar e bloqueando a create-react-appinstalação completamente. Forçar uma instalação do npm com -f, btw, nunca é uma solução completa ... apenas uma etapa de solução de problemas. Se algo mudar depois de executá-lo, você saberá que há algo errado com um dos pacotes.
Jonny Asmar
Além disso, você pode querer verificar se possui um arquivo em javascript/node_modules/.bin/react-scripts. Se não, pode haver várias causas para isso, que incluem problemas de permissões, restrições do sistema operacional na criação de links simbólicos (tudo em node_moduels/.biné um link simbólico gerado na instalação. Também pode ser apenas que você não tem scripts de reação instalados ... tente correndo npm install --save react-scriptse veja se isso ajuda.
Jonny Asmar
1
Mudar do MacOS para o Windows (Dropbox sincronizou toda a node_modulespasta) - apenas excluir a pasta e reinstalar resolveu
AS
Sim - isso é o que o comando acima faz. Seu sintoma provavelmente é devido a vários pacotes que executam procedimentos de instalação condicional por sistema operacional. Linux, Mac e Windows têm algumas discrepâncias com muitas dependências fundamentais do projeto.
Jonny Asmar
32

Se react-scriptsestá presente empackage.json

Se você vir algo assim "react-scripts": "2.1.3"em seu pakage.jsonarquivo, basta digitar este comando

npm install

Se react-scriptsnão estiver presente empackage.json

Se não houver nada como "react-scripts"no seu package.jsonarquivo, então provavelmente você não o instalou. Para fazer isso digite o seguinte comando e você estará pronto

npm install react-scripts --save

Hadi Mir
fonte
1
E se eu tiver em meu package.json e também instalar, mas enfrentar o mesmo problema?
Serob_b
@Serob_b Às vezes eu também tenho o mesmo problema, nesse caso eu apenas executo "npm install" e ele resolve o problema. ou você sempre pode deletar a pasta node_modules digitando rm "-rf node_modules" no terminal e então executar "npm install". espero que isso ajude
Hadi Mir
11

Na minha situação, alguns problemas aconteceram com meu pacote de nó. Então eu corri npm audit fixe resolvi todos os problemas

Nguyen Duc Thanh
fonte
Esta parece ser a melhor resposta até agora. Migrei meu código do Macbook para um PC e não consegui executar meu projeto de reação. "correção de auditoria npm" resolveu instantaneamente.
Wakas Abbasid
11

Eu enfrentei o mesmo problema. Mas a execução do comando npm update resolveu meu problema.

Miraj Khandaker
fonte
Essa foi a solução. Obrigado.
Dzenis H.
4

Eu estava enfrentando o mesmo problema e quase gastei a metade nisso. Isso funcionou para mim, você pode tentar

corre

npm cache clean --force

então

npm rebuild

finalmente

npm install

Boa sorte

Crispen Gari
fonte
Obrigado por esta solução. Você é incrível)
Otabek Butcher
De nada amigo
Crispen Gari
3

eu corrijo este problema :-), apenas desinstale seu node.js e mostre os arquivos ocultos

em seguida, vá para "C: \ Users \ yourpcname \ AppData \ Roaming \

em seguida, exclua as pastas "npm" e "npm-cache"

e instale uma nova versão do node.js.

Sandro Cagara
fonte
2
Esta não é realmente uma solução.
Phani Rithvij
3

Enfrentou o mesmo problema, embora esteja usando fio.

O seguinte funcionou para mim:

yarn install 
yarn start
Papa Francisco
fonte
2

react-scripts não é reconhecido como um comando interno ou externo relacionado ao npm.

Gostaria de atualizar todas as minhas dependências em meus arquivos package.json para as versões mais recentes no diretório principal e no diretório do cliente, se aplicável. Você pode fazer isso usando um asterisco "*" em vez de especificar um número de versão específico em seus arquivos package.json para suas dependências.

Por exemplo:

"dependencies": {
    "body-parser": "*",
    "express": "*",
    "mongoose": "*",
    "react": "*",
    "react-dom": "*",
    "react-final-form": "*",
    "react-final-form-listeners": "*",
    "react-mapbox-gl": "*",
    "react-redux": "*",
    "react-responsive-modal": "*",
  }

Em seguida, certificaria-me de que qualquer package-lock.json foi excluído e executaria npm install e yarn install no diretório principal e no diretório do cliente, se aplicável.

Você deve então ser capaz de executar uma compilação de yarn e usar o yarn start para executar o aplicativo.

Ahmedakhtar11
fonte
Este é um conselho ruim. Usar *para seus números de versão é problemático porque pode fazer com que versões diferentes de pacotes sejam instaladas em sistemas diferentes. Use números de versão bloqueados e atualize-os conforme necessário
Dana Woodman
Sim, as coisas podem dar errado aqui para fins de produção, mas apenas uma ideia para fins de teste.
Ahmedakhtar11
1

Para mudanças de aplicativos portáteis

package.json

do seguinte modo

"scripts": {
    "start": "node node_modules/.bin/react-scripts start",
    "build": "node node_modules/.bin/react-scripts build",
    "test": "node node_modules/.bin/react-scripts test",
    "eject": "node node_modules/.bin/react-scripts eject"
  }
Smamran
fonte
1

É assim que eu conserto

  1. Verifique e atualize a variável de caminho (veja abaixo como atualizar a variável de caminho)
  2. Exclua node_modules e package-lock.json
  3. corre npm install
  4. corre npm run start

se isso não funcionar, tente instalar o nodejs e execute o reparo

ou limpe o cache npm npm cache clean --force

Para atualizar a variável de caminho

  1. pressione a tecla windows
  2. Procurar por Edit the system environmental variable
  3. Clique em Environment Variables...
  4. na seção inferior da variável do sistema (haverá duas seções)
  5. Selecione Path nome da variável
  6. Clique Edit..
  7. Verifique se existe C:\Program Files\nodejsna lista, caso não adicione este
Salman
fonte
0

Tentei muitas das soluções para este problema encontradas online, mas no meu caso nada funcionou, exceto para reinstalar o NVM para Windows (que estou usando para gerenciar várias versões do Node). No instalador, ele detecta as versões instaladas do Node e pergunta ao usuário se deseja que o NVM as controle. Eu disse sim e o NVM corrigiu todos os problemas do PATH. Como resultado, as coisas funcionaram como antes. Esse problema pode ter várias causas, mas o PATH corrompido é definitivamente uma delas e (re) instalar o NVM corrige o PATH.

Tomáš Hübelbauer
fonte
0

Esta é uma questão bastante antiga, mas pode ser de alguma ajuda para referência futura. Exclua a pasta node_modules e execute npm install novamente. Funcionou para mim.

Koder90
fonte
0

No meu caso, editei meus arquivos no Linux onde tinha o node v14.0.5 instalado, quando reiniciei o Windows onde tinha o node v14.0.3 recebi o mesmo erro. Então, eu atualizei a versão do nó no Windows e tudo correu bem para mim.

Sourabh
fonte
0

teve um problema semelhante .. eu usei fios para corrigi-lo. Percebi que os react-scripts não foram encontrados nos módulos do meu nó, então decidi baixá-los com o npm, mas parece que também estou falhando. então tentei yarn (yarn add react-scripts) e isso resolveu o pesadelo! Espero que isso funcione para você também. Boa depuração, pessoal.

Emmanuel Sewah
fonte
0

Para mim, acabei de reinstalar os scripts de reação em vez de scripts de reação --save.

Sreesankar G Warrier
fonte
0

Isso funcionou para mim:

  • Vá para a pasta do projeto em CLI e digite npm install. Go para um comando semelhante se estiver usando yarn etc.

  • Em seguida, digite npm start se estiver usando Npm. Use um comando semelhante se estiver usando yarn etc.

  • O arquivo começa a funcionar

Muhammad Moiz
fonte
-1

No meu caso, o problema tinha a ver com não ter permissões de arquivo suficientes para alguns arquivos nos quais a instalação do pacote react-scripts iria gravar. O que resolveu foi executar git bash como administrador e, em seguida, executar npm install --save react-scriptsnovamente.

Adim Victor
fonte
-2

Quando faço um novo projeto usando React, para instalar os módulos React, tenho que executar "npm install" (PowerShell) de dentro da pasta ClientApp de novos projetos (por exemplo, "C: \ Usuários \ Chris \ source \ repos \ HelloWorld2 \ HelloWorld2 \ ClientApp "). O .NET core WebApp com React precisa ter os arquivos React instalados no local correto para que os comandos React funcionem corretamente.

Christopher Upton
fonte