'react-scripts' n'est pas reconnu comme une commande interne ou externe

92

J'ai un projet maven, dans lequel se trouve un projet JavaScript cloné en tant que sous-module git. La structure du répertoire ressemble donc à quelque chose comme

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

dans mon package.json, le test ressemble à ceci: "test": "react-scripts test --env=jsdom",

mais quand j'essaye d'exécuter le test npm c'est dit

'react-scripts' n'est pas reconnu comme une commande interne ou externe,

Fait intéressant, lorsque je clone le projet javascript indépendamment, je n'obtiens pas cette erreur. J'ai essayé de recommencer npm install.

npm version : 5.5.1

node version : 9.3.0

J Smith
la source
bien que j'ai depuis travaillé autour de ce problème, j'apprécie qu'il a attiré un peu d'attention et, en tant que tel, il pourrait être utile de marquer une réponse comme la bonne ... ouverte aux suggestions de la communauté quant à savoir à qui cela serait .
J Smith

Réponses:

78

Il s'agit d'une erreur concernant le fichier react-scripts manquant dans votre répertoire de modules de nœud au moment de l'installation.

Vérifiez que votre dépendance react -script est disponible ou non dans package.json

Si non disponible, ajoutez manuellement via:

npm installer react-scripts --save

Yogesh Borad
la source
11
NE PAS faire cela, cela pourrait causer des problèmes avec d'autres projets ... vous ne devriez PAS installer de scripts de réaction globalement comme celui-ci. Reportez-vous ici: github.com/facebook/create-react-app/issues/…
Rosdi Kasim
5
@RosdiKasim Après avoir lu votre commentaire, j'ai réalisé mon erreur. Maintenant, j'ai changé la commande pour le projet spécifique au lieu de globalement (-g).
Yogesh Borad
Rien ne change pour moi, toujours la même erreur. L'exécution de "npm install react-scripts --save" même si succès ne crée aucun dossier react-scripts dans le dossier npm_modules. Je suis sous Windows10
Giox
@RosdiKasim, en fonction de votre commentaire, vous devriez suivre la fin du fil de discussion sur Github. Je courais sur le même problème et je l'ai résolu en faisant comme ceci stackoverflow.com/a/54403797/8719007 (la réponse ci-dessous)
Serge Kishiko
45

As-tu essayé:

rm -rf node_modules && npm install

Effacer d' node_modulesabord, a souvent tendance à résoudre de nombreux problèmes étranges liés aux packages comme celui de Node.

Jonny Asmar
la source
2
oui j'ai ... pas de différence ... Pour l'instant, j'ai simplement dû retirer le sous-module et le coller manuellement.
J Smith
Hmm, vous ne voyez aucune erreur enregistrée de votre part npm install? Essayez d'exécuter un npm install -fet voyez si quelque chose change. Il peut s'agir d'un autre package qui ne parvient pas à s'installer et qui empêche create-react-appde s'installer complètement. Forcer une installation npm avec -f, btw, n'est jamais une solution complète ... juste une étape de dépannage. Si quelque chose change après avoir exécuté cela, vous savez qu'il y a quelque chose qui ne va pas avec l'un des packages.
Jonny Asmar
En outre, vous souhaiterez peut-être vérifier que vous disposez d'un fichier à javascript/node_modules/.bin/react-scripts. Si ce n'est pas le cas, il peut y avoir plusieurs causes différentes à cela, notamment des problèmes d'autorisations, des restrictions du système d'exploitation sur la création de liens symboliques (tout dans node_moduels/.binest un lien symbolique généré lors de l'installation. courir npm install --save react-scriptset voir si cela aide.
Jonny Asmar
1
Déplacement de MacOS vers Windows (Dropbox synced tout le node_modulesdossier) - que la suppression du dossier et réinstallation a résolu
AS
Oui, c'est ce que fait la commande ci-dessus. Votre symptôme était probablement dû à un certain nombre de packages qui exécutent des procédures d'installation conditionnelle par système d'exploitation. Linux, Mac et Windows présentent de nombreuses différences avec de nombreuses dépendances fondamentales du projet.
Jonny Asmar
30

Si react-scriptsest présent danspackage.json

Si vous voyez quelque chose comme ça "react-scripts": "2.1.3"dans votre pakage.jsonfichier, tapez simplement cette commande

npm install

Si react-scriptsn'est pas présent danspackage.json

S'il n'y a rien de tel "react-scripts"dans votre package.jsonfichier, vous ne l'avez probablement pas installé.Pour ce faire, tapez la commande suivante et vous serez tous ensemble

npm install react-scripts --save

Hadi Mir
la source
1
Et si je l'ai dans mon package.json et que je l'installe également, mais que je rencontre le même problème?
Serob_b
@Serob_b Parfois, j'ai aussi le même problème dans ce cas, je lance juste "npm install" et cela résout le problème. ou vous pouvez toujours supprimer le dossier node_modules en tapant rm "-rf node_modules" dans le terminal puis exécutez "npm install". espérons que cela aide
Hadi Mir
9

Dans ma situation, des problèmes sont survenus avec mon package de nœuds. Alors je cours npm audit fixet ça a résolu tous les problèmes

Nguyen Duc Thanh
la source
9

J'ai fait face au même problème. Mais exécuter la commande npm update a résolu mon problème.

Miraj Khandaker
la source
C'était la solution. Merci.
Dzenis H.18
3

je corrige ce problème :-), désinstallez simplement votre node.js et affichez les fichiers cachés

puis allez dans "C: \ Users \ yourpcname \ AppData \ Roaming \

puis supprimez le dossier "npm" et "npm-cache"

et installez une nouvelle version de node.js.

Sandro Cagara
la source
2
Ce n'est pas vraiment une solution.
Phani Rithvij le
Celui-ci a fonctionné pour moi.
UA
2

react-scripts n'est pas reconnu car une commande interne ou externe est liée à npm.

Je mettrais à jour toutes mes dépendances dans mes fichiers package.json vers les dernières versions du répertoire principal et du répertoire client, le cas échéant. Vous pouvez le faire en utilisant un astérisque "*" au lieu de spécifier un numéro de version spécifique dans vos fichiers package.json pour vos dépendances.

Par exemple:

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

Je m'assurerais alors que tout package-lock.json était supprimé, puis exécuterais npm install et yarn install à la fois dans le répertoire principal et dans le répertoire client le cas échéant.

Vous devriez alors être en mesure d'exécuter une génération de fil, puis d'utiliser le démarrage de fil pour exécuter l'application.

Ahmedakhtar11
la source
C'est un mauvais conseil. L'utilisation *de vos numéros de version est problématique car cela pourrait entraîner l'installation de différentes versions de packages sur différents systèmes. Utilisez les numéros de version verrouillés et mettez-les à jour si nécessaire
Dana Woodman
Oui, les choses pourraient totalement mal tourner ici à des fins de production, mais juste une idée à des fins de test.
Ahmedakhtar11
2

Face au même problème, même si j'utilise du fil.

Ce qui suit a fonctionné pour moi:

yarn install 
yarn start
Pape François
la source
1

Pour les applications portables, changez

package.json

comme suit

"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
la source
0

J'ai essayé de nombreuses solutions à ce problème trouvées en ligne, mais dans mon cas, rien n'a fonctionné sauf pour réinstaller NVM pour Windows (que j'utilise pour gérer plusieurs versions de Node). Dans le programme d'installation, il détecte les versions de Node installées et demande à l'utilisateur s'il souhaite que NVM les contrôle. J'ai dit oui et NVM a résolu tous les problèmes de PATH. En conséquence, les choses ont fonctionné comme avant. Ce problème peut avoir plusieurs causes, mais PATH corrompu en est certainement une et (ré) installer les correctifs NVM PATH.

Tomáš Hübelbauer
la source
0

C'est une question plutôt ancienne, mais cela pourrait être utile pour référence future. Supprimez le dossier node_modules et exécutez à nouveau npm install. A travaillé pour moi.

Koder90
la source
0

Dans mon cas, j'ai édité mes fichiers sur Linux où j'avais le nœud v14.0.5 installé, lorsque j'ai redémarré sur Windows où j'avais le nœud v14.0.3, j'ai eu la même erreur. J'ai donc mis à jour la version du nœud sur Windows et tout s'est bien passé pour moi.

Sourabh
la source
0

Voilà comment je le répare

  1. Vérifiez et mettez à jour la variable de chemin (voir ci-dessous comment mettre à jour la variable de chemin)
  2. Supprimer node_modules et package-lock.json
  3. courir npm install
  4. courir npm run start

si cela ne fonctionne pas, essayez d'installer le nodejs et exécutez la réparation

ou nettoyer le cache npm npm cache clean --force

Pour mettre à jour la variable de chemin

  1. appuyez sur la touche Windows
  2. Rechercher Edit the system environmental variable
  3. Cliquer sur Environment Variables...
  4. sur la section inférieure de la variable système (il y aura deux sections)
  5. Sélectionnez le Pathnom de la variable
  6. Cliquez sur Edit..
  7. Vérifiez s'il y en a C:\Program Files\nodejssur la liste, sinon ajoutez ceci
Salman
la source
0

eu un problème similaire .. j'ai utilisé du fil pour le résoudre. J'ai remarqué que react-scripts n'était pas trouvé dans mes modules de nœuds, j'ai donc décidé de le télécharger avec npm mais je semble également échouer. alors j'ai essayé le fil (yarn add react-scripts) et cela a résolu le cauchemar! J'espère que ce travail pour vous aussi. Heureux les gens de débogage.

Emmanuel Sewah
la source
-1

Dans mon cas, le problème était lié au fait de ne pas avoir suffisamment d'autorisations de fichiers pour certains fichiers sur lesquels l'installation du package react-scripts allait écrire. Ce qui a résolu le problème, c'était d'exécuter git bash en tant qu'administrateur , puis de le réexécuter npm install --save react-scripts.

Adim Victor
la source
-2

Lorsque je crée un nouveau projet en utilisant React, pour installer les modules React, je dois exécuter "npm install" (PowerShell) à partir du dossier ClientApp des nouveaux projets (par exemple "C: \ Users \ Chris \ source \ repos \ HelloWorld2 \ HelloWorld2 \ ClientApp "). L'application Web .NET core avec React doit avoir les fichiers React installés à l'emplacement approprié pour que les commandes React fonctionnent correctement.

Christopher Upton
la source