6
votes

Pourquoi j'ai une erreur lors de la création de l'application React?

J'étais nouveau et je veux apprendre ReactJS et je commence à installer un nouveau dossier vide avec la commande npx create-react-app. . J'ai npm v.6.4.1. et quand j'essaye d'exécuter la commande, cela m'a donné une erreur.

npm ERR! code ENOLOCAL
npm ERR! Could not install from "2\AppData\Roaming\npm-cache\_npx\10552" as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\LOGIVAR TY 2\AppData\Roaming\npm-cache\_logs\2019-01-23T04_18_56_036Z-debug.log
Install for create-react-app@latest failed with code 1

Je fais déjà la même commande sur un projet vide Laravel, mais je me donne toujours la même erreur.

Pouvez-vous me dire quelle est la principale cause du problème et comment y remédier?

EDIT: J'exécute déjà le terminal en tant qu'administrateur, mais je reçois une autre erreur: p>

Error: EPERM: operation not permitted, mkdir 'C:\Users\LOGIVAR'
TypeError: Cannot read property 'get' of undefined
    at errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
    at C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js:78:20
    at cb (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:228:22)
    at C:\Program Files\nodejs\node_modules\npm\lib\npm.js:266:24
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:83:7
    at Array.forEach (<anonymous>)
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:82:13
    at f (C:\Program Files\nodejs\node_modules\npm\node_modules\once\once.js:25:25)
    at afterExtras (C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:173:20)
    at C:\Program Files\nodejs\node_modules\npm\node_modules\mkdirp\index.js:47:53
C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205
  if (npm.config.get('json')) {
                 ^

TypeError: Cannot read property 'get' of undefined
    at process.errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
    at process.emit (events.js:182:13)
    at process._fatalException (internal/bootstrap/node.js:485:27)
Install for create-react-app@latest failed with code 7


0 commentaires

8 Réponses :


3
votes

Avez-vous essayé d'exécuter ceci en tant qu'administrateur?


8 commentaires

Je l'exécute sur le terminal PhpStorm. Je ne suis pas sûr qu'il soit exécuté en tant qu'administrateur


Essayez de l'exécuter en tant qu'administrateur car votre opération n'est pas autorisée


Ça marche. Mais cela m'a donné une autre erreur. Je le modifierai sur ma question


D'accord, j'aurais dû commenter ça


Essayez cette commande: npm install -g create-react-app, je l'ai référé à partir de celle-ci: github.com/facebook/create-react-app/issues/4058


Merci, il devrait être installé et fonctionner maintenant


Ouais s'il vote pour que les autres aient le même problème sache comment résoudre ce problème


Notez que la plupart du temps, vous ne souhaitez pas exécuter toutes sortes d'applications en tant qu'administrateur.



1
votes

ajoutez un nom de projet comme celui-ci dans votre commande:

 npx create-react-app your-project-name


0 commentaires

1
votes

C'est un problème avec npx. Le nom de votre ordinateur contient un espace. Je recommanderais npm install -g create-react-app pour contourner le problème npx.


0 commentaires

15
votes

Dans mon cas, le problème réel était dû à la présence d'un espace dans mon dossier de noms d'utilisateur Windows. Ce qui semble également être le cas ici en regardant la première ligne de la trace de la pile,

cache=C:\Users\GIJSVA~1\AppData\Roaming\npm-cache

Puisqu'il n'y a pas de répertoire présent nommé LOGIVAR , il essaie d'exécuter mkdir , pour lequel son opération d'obtention n'est pas autorisée.

Voici comment je l'ai corrigé grâce à citoreek, g8up & gijswijs

exécutez npm config edit pour modifier votre configuration, cela ouvrira un texte dans le bloc-notes ou dans votre éditeur configuré,

puis changez le chemin du cache de

; cache=C:\Users\Gijs van Dam\AppData\Roaming\npm-cache

en

Error: EPERM: operation not permitted, mkdir 'C:\Users\LOGIVAR'

N'oubliez pas de supprimer le ; au début, La question suivante serait de savoir comment pouvons-nous remplacer notre nom d'utilisateur par GIJSVA~1?

Il y a plusieurs façons de cibler ceci,

  1. Accédez à C: \ Users ouvrez Power Shell et exécutez la commande suivante

cmd / c dir / x

ce que cela fait, c'est lister tous les répertoires dans le répertoire courant avec leurs noms courts qui ne sont pas censés contenir des espaces et sont normalement de 6 caractères ou moins. Copiez ce nom court dans le répertoire de votre nom d'utilisateur et utilisez-le dans le chemin de votre cache.

Vous remarquerez que ces noms courts n'existent que pour les répertoires contenant des espaces ou de plus de 6 caractères, pour le reste répertoires leurs noms courts seront les mêmes que leur nom de répertoire,

  1. Si vous ne souhaitez pas utiliser la commande ci-dessus, supprimez simplement tous les espaces de votre nom d'utilisateur dans le chemin de votre cache, puis prenez les 6 premiers caractères du nom du répertoire utilisateur et corrigez-le avec ~ 1. Vous devriez également le mettre en majuscule, mais cela ne semble pas faire de différence.

Une fois que vous avez terminé de modifier ce fichier, enregistrez vos modifications, puis réessayez après avoir fermé tout processus power shell / bash actif et les avoir rouverts.


1 commentaires

La simple mise à jour du cache dans la configuration npm comme mentionné ci-dessus l'a corrigé pour moi. F windows encore une fois, jamais ce genre de problèmes sur un Mac.



-1
votes

Commencez par installer create-react-app

npx create-react-app app-name

puis

npm  install create-react-app


1 commentaires

non pas besoin d'installer create-react-app si vous utilisez npx create-react-app



0
votes

Le problème mentionné ci-dessus est dû à l'espace blanc contenu dans le nom du dossier. Le meilleur moyen est de modifier le fichier de configuration.

Entrez npm config edit pour entrer dans votre fichier de configuration

Puis changez

; cache = C: \ Users \ Sinojia Zeel \ AppData \ Roaming \ npm-cache

à

cache = C: \ Users \ SINOJI ~ 1 \ AppData \ Roaming \ npm-cache

N'oubliez pas de supprimer le point-virgule de l'avant

Le SINOJI ~ 1 peut être remplacé par le nom de votre dossier qui contient un espace blanc. Prenez simplement les 6 premières lettres de votre nom de fichier et ajoutez dans le suffixe ~ 1 (La mise en majuscule du nom de fichier est facultative mais c'est souvent fait)

Enregistrez le fichier, quittez et réexécutez la commande npx create-react-app. .


0 commentaires

11
votes
  1. Première installation à l'échelle mondiale

    npx create-react-app your-app-name
    
  2. Créez votre nouvelle application

    npm install -g create-react-app
    

    cela a fonctionné pour moi


0 commentaires

0
votes

J'ai rencontré un problème similaire lors de la création d'une application React à partir de Linkedin Learning, elle avait la commande - npx create-react-app mon-site Web --use-npm pour créer une nouvelle application React mais je n'ai pas mentionné si elle nécessitait des prérequis.

Donc, pour exécuter la commande ci-dessus, installez d'abord l'application create-react-app avec npm install -g create-react-app


0 commentaires