TypeError [ERR_INVALID_ARG_TYPE]: L'argument "chemin" doit être de type chaîne. Type reçu non défini déclenché lors du démarrage de l'application React

93

Je travaille sur un projet dans React et j'ai rencontré un problème qui m'a bloqué.

Chaque fois que je cours, yarn startj'obtiens cette erreur:

TypeError [ERR_INVALID_ARG_TYPE]: L'argument "chemin" doit être de type chaîne. Type reçu non défini

Je ne sais pas pourquoi cela se produit, si quelqu'un en a fait l'expérience, je lui en serais reconnaissant.

Fredrick Barrett
la source
Essayez de supprimer et de réinstaller les modules de noeud à nouveau.
Astrit Spanca

Réponses:

178

Pour résoudre ce problème, passez simplement à "react-scripts": "^3.4.0"

  1. Remplacez l'existant "react-scripts": "^3.x.x"par "react-scripts": "^3.4.0"dans votre package.json
  2. Supprimez vos modules de nœuds
  3. Exécutez npm install ou yarn install

J'espère que ça va te réparer plus vite

EngrEric
la source
11
m'arracher les cheveux au cours des dernières 24 heures pour essayer de résoudre ce même problème. cette solution fonctionne parfaitement pour moi. Merci beaucoup.
Rapid537
4
npm est un tas de fumier
fumant
8
Mon problème a été résolu lors de la mise à niveau de 3.3.0vers 3.4.0. Ce qui est bizarre, c'est qu'on arrête juste de travailler au milieu du développement, sans aucune raison.
Algorithme abstrait
3
Savez-vous pourquoi cela se produit?
Ilyas karim
10
Cela «vient juste de commencer» pour moi aussi, mais c'était vraiment après la course npm audit fix, au cas où cela serait utile à n'importe qui.
Jeremy Jones
19

J'ai également rencontré ce problème et je l'ai compris en mettant à niveau le react-scriptspackage de "react-scripts": "3.x.x"vers"react-scripts": "^3.4.0"

  1. Supprimer le node_modules\dossier
  2. Supprimer le package-lock.jsonfichier
  3. Réécrire le package.jsonfichier de "react-scripts": "3.x.x"à"react-scripts": "^3.4.0"
  4. Réinstaller les packages de nœuds npm i
  5. Maintenant, lancez le projet npm start

Et il fonctionne!!

Fatema T. Zuhora
la source
7

Nous avons éjecté react-scriptset ne pouvions donc pas simplement mettre à niveau l'entrée package.json pour résoudre ce problème.

Au lieu de cela, nous avons fait ceci: 1.) dans un nouveau répertoire, créez un nouveau projet -> $> npx create-react-app foo-project 2.) puis éjectez-le -> cd ./foo-project && npm run eject 3.) copiez maintenant les fichiers de / foo-project / config dans le répertoire config de notre principal application et allumez votre serveur de développement

espérons que cela aide les autres dans une situation similaire.

Al DeLuca
la source
6

J'ai juste eu ce problème après l'installation et la suppression de certains paquets npm et j'ai passé près de 5 heures à comprendre ce qui se passait.

Ce que j'ai fait, c'est essentiellement copié mes src / composants dans un répertoire différent, puis supprimé tous les modules de noeud et package-lock.json (si vous exécutez votre application dans le conteneur Docker, supprimez les images et reconstruisez-la juste pour être sûr); puis le réinitialiser à mon dernier commit, puis remettre mes src / composants puis exécuté npm i.

J'espère que ça aide.

Solijon Sharipov
la source
2
  1. Accédez à votre package.json

  2. Changez "react-scripts": "3.xx" en "react-scripts": "^ 3.4.0" dans les dépendances

  3. Réinstallez les scripts de réaction: npm I react-scripts

  4. Démarrez votre projet: npm start

edebo
la source
2

Courir a npm i [email protected]résolu mon problème.

albert sh
la source
1
J'ai fait tout ce qui précède, puis ce problème a été résolu.
NicoWheat Il y a
0

Si vous avez un éjecté create-react-app , je suggère:

  1. Créez une nouvelle application React via create-react-app.
  2. Éjectez-le par npm run ejectou yarn eject.
  3. Installez tous les packages manquants dans le package.json.
  4. Copiez votre dossier src en supposant que tout votre code se trouve dans ce dossier.
  5. Refaites vos modifications sur les dossiers de configuration et de script , si nécessaire.

A travaillé pour moi.

Geo Angelopoulos
la source
0

J'ai essayé différentes approches décrites ci-dessus, mais aucune d'entre elles n'a fonctionné depuis que j'ai éjecté mon CSS. Enfin, l'application des étapes suivantes a aidé:

  1. Passer react-scriptsde "react-scripts": "3.x.x"à"react-scripts": "^3.4.0"
  2. Rétrograder le react-dev-utilsformulaire "react-dev-utils": "^10.x.x"vers"react-dev-utils": "10.0.0"
  3. Supprimer le node-modulesdossier et package-lock.json/yarn.lock
  4. Réinstaller les packages npm install/yarn install
Binod Kafle
la source
0

Si vous avez éjecté et êtes curieux, c'est ce changement sur le référentiel de l'ARC qui est à l'origine de l'erreur.

Pour y remédier, vous devez appliquer leurs modifications; à savoir, le dernier ensemble de fichiers:

  • packages / react-scripts / config / paths.js
  • packages / react-scripts / config / webpack.config.js
  • packages / react-scripts / config / webpackDevServer.config.js
  • packages / react-scripts / package.json
  • packages / react-scripts / scripts / build.js
  • packages / react-scripts / scripts / start.js

Personnellement, je pense que vous devez appliquer manuellement les modifications car, à moins que vous n'ayez été à jour avec toutes les modifications, vous pouvez introduire un autre bogue dans votre bundle webpack (en raison d'une incompatibilité de dépendance ou autre).

OU , vous pourriez faire ce que Geo Angelopoulos a suggéré. Cela peut prendre un certain temps, mais au moins votre projet serait synchronisé avec le référentiel CRA (et bénéficierait de toutes leurs dernières améliorations!).

jpz95
la source