161 votes

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

J'ai un projet maven, dans lequel se trouve un projet JavaScript cloné comme un 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 lorsque j'essaie d'exécuter npm test, le message suivant apparaît

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

Il est intéressant de noter que lorsque je clone le projet javascript indépendamment, je n'obtiens pas cette erreur. J'ai essayé de réexécuter npm install .

npm version : 5.5.1

node version : 9.3.0

133voto

Yogesh Borad Points 474

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

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

S'il n'est pas disponible, ajoutez-le manuellement via :

npm install react-scripts --save

23 votes

NE FAITES PAS cela, cela pourrait causer des problèmes avec d'autres projets... vous ne devez PAS installer react-scripts globalement comme cela. Référez-vous ici : github.com/facebook/create-react-app/issues/

7 votes

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

1 votes

Rien ne change pour moi, toujours la même erreur. L'exécution de "npm install react-scripts --save", même si elle est réussie, ne crée pas de dossier react-scripts dans le dossier npm_modules. Je suis sous Windows10

71voto

Hadi Mir Points 78

Si react-scripts est présent dans package.json

Si vous voyez quelque chose comme ceci "react-scripts": "2.1.3" dans votre pakage.json alors il suffit de taper cette commande

npm install

Si react-scripts n'est pas présent dans package.json

S'il n'y a rien comme "react-scripts" dans votre package.json Pour cela, tapez la commande suivante et vous serez prêt à l'installer

npm install react-scripts --save

4 votes

Et si je l'ai dans mon package.json et que je l'installe aussi, mais que je rencontre le même problème ?

1 votes

@Serob_b J'ai parfois le même problème, dans ce cas, j'exécute simplement "npm install" et le problème est résolu. Vous pouvez également supprimer le dossier node_modules en tapant rm "-rf node_modules" dans le terminal, puis exécuter "npm install". J'espère que cela vous aidera.

1 votes

Voici la réponse complète

61voto

Jonny Asmar Points 985

Avez-vous essayé :

rm -rf node_modules && npm install

Essuyage node_modules d'abord, a souvent tendance à corriger beaucoup de problèmes bizarres, liés aux paquets, comme cela dans Node.

2 votes

Oui, je l'ai fait... aucune différence... Pour l'instant, j'ai dû supprimer le sous-module et le coller manuellement.

0 votes

Hmm, vous ne voyez pas d'erreurs enregistrées à partir de vos npm install êtes-vous ? Essayez d'exécuter un npm install -f et voyez si quelque chose change. Il se peut qu'un autre paquet ne s'installe pas et bloque create-react-app de s'installer complètement. Forcer une installation de npm avec -f n'est jamais une solution complète.... juste une étape de dépannage. Si quelque chose change après l'exécution, vous savez qu'il y a un problème avec l'un des paquets.

0 votes

De plus, vous pouvez vérifier que vous avez un fichier à l'adresse javascript/node_modules/.bin/react-scripts . Si ce n'est pas le cas, il peut y avoir plusieurs causes différentes, notamment des problèmes de permissions, des restrictions du système d'exploitation concernant la création de liens symboliques (tout ce qui se trouve dans la section node_moduels/.bin est un lien symbolique généré à l'installation. Il se peut aussi que vous n'ayez pas installé react-scripts... essayez d'exécuter npm install --save react-scripts et voir si ça aide.

4voto

Sandro Cagara Points 31

J'ai résolu ce problème :-), il suffit de désinstaller votre node.js et de montrer les fichiers cachés.

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

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

et installer une nouvelle version de node.js.

3 votes

Ce n'est pas vraiment une solution.

3voto

Ahmedakhtar11 Points 11

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

Je mettrais à jour toutes mes dépendances dans mes fichiers package.json avec les dernières versions, à la fois dans le répertoire principal et dans le 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 ensuite que tout package-lock.json a été supprimé, puis je lancerais npm install et yarn install dans le répertoire principal et dans le répertoire du client, le cas échéant.

Vous devriez alors être en mesure d'exécuter un yarn build puis d'utiliser yarn start pour exécuter l'application.

0 votes

C'est un mauvais conseil. Utilisation de * pour vos numéros de version est problématique car cela pourrait entraîner l'installation de différentes versions de paquets sur différents systèmes. Utilisez des numéros de version verrouillés et mettez-les à jour si nécessaire

0 votes

Oui, les choses peuvent totalement déraper ici pour la production, mais c'est juste une idée pour les tests.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X