'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


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


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.


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


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


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.


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


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.


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

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.


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"
  }

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

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.


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.


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.


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.



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


-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.


-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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.