36
votes

React NPM commence à ne pas fonctionner: «Aucune version de Chokidar disponible»

J'ai cloné mon application React-TypeScript déjà fonctionnelle sur les pages GitHub, de GitHub et je voulais apporter quelques modifications. J'ai exécuté NPM Installer et installé toutes les dépendances, mais lorsque j'exécute NPM Start, j'ai obtenu cette erreur;

Entrez la description de l'image ici

Je ne sais pas ce qu'est le chokidar Et j'ai l'air un peu et je pense que ce n'est pas lié à mon projet. J'ai quand même essayé d'installer Chokidar et j'ai eu une autre erreur comme celle-ci;

a également essayé NPM Fix d'audit / Code> aussi. Correction de quelques trucs mais rien n'a changé.

Je ne peux donc pas ouvrir le serveur de développement. De plus, il s'agit du fichier package.json;

// package.json
{
  "name": "panflix",
  "homepage": "https://absolutezero13.github.io/meerkast/",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "@types/enzyme": "^3.10.8",
    "@types/jest": "^26.0.15",
    "@types/node": "^12.0.0",
    "@types/react": "^17.0.0",
    "@types/react-dom": "^17.0.0",
    "@types/redux-devtools": "^3.0.47",
    "axios": "^0.21.1",
    "enzyme": "^3.11.0",
    "firebase": "^8.2.7",
    "gh-pages": "^3.1.0",
    "history": "^4.10.1",
    "react": "^17.0.1",
    "react-bootstrap": "^1.5.0",
    "react-dom": "^17.0.1",
    "react-redux": "^7.2.2",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.2",
    "redux": "^4.0.5",
    "redux-devtools-extension": "^2.13.8",
    "redux-thunk": "^2.3.0",
    "typescript": "^4.1.2",
    "web-vitals": "^1.0.1"
  },
  "scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@types/react-redux": "^7.1.16",
    "@types/react-router-dom": "^5.1.7"
  }
}


J'ai essayé npm install -g chokidar et il est installé. Mais j'obtiens la même erreur qu'avant "Aucune version, Chokidar n'est disponible."

D'autres projets React fonctionnent bien.


1 commentaires

Peut-être que cela peut aider stackoverflow.com/a/56105431/9095807


8 Réponses :


34
votes

J'ai eu le même problème. Ce qui a fonctionné pour moi, c'est forcer les mises à jour sur les packages NPM locaux:

$ npm list chokidar
pwa-react-showcase@0.1.0
└─┬ react-scripts@4.0.3
  ├─┬ webpack-dev-server@3.11.1
  │ └── chokidar@2.1.8
  └─┬ webpack@4.44.2
    └─┬ watchpack@1.7.5
      ├── chokidar@3.5.1
      └─┬ watchpack-chokidar2@2.0.1
        └── chokidar@2.1.8

avant

$ npm list chokidar
pwa-react-showcase@0.1.0
└─┬ react-scripts@4.0.3
  └─┬ webpack-dev-server@3.11.1
    └── chokidar@2.1.8

après

Update

Nous avons constaté que NPM 7 était le problème. La rétrogradation au NPM 6.14.12 fonctionne sans aucune modification.


1 commentaires

La rétrogradation fonctionne, mais il n'y a pas besoin. Vous pouvez simplement mettre à jour le NPM Chokidar. Voir ma réponse ci-dessous. Force Update pourrait également ne pas être une bonne idée de mettre à jour toutes les dépendances si vous n'avez pas spécifié la version exacte de la dépendance.



5
votes

Chockidar est une dépendance à l'intérieur de Watchpak qui prend en charge les rechargements chauds sur les sauvegardes sur l'environnement de développement.

Chuckidar 2 a des problèmes avec le nœud v14 +.

Pour moi, Update NPM a mis à jour WatchPack pour utiliser Chockidar 3.


0 commentaires

15
votes

Le même problème m'est arrivé après la mise à niveau de npm@6.x à npm@7.x . J'ai résolu mon problème avec la simple installation chokidar en tant que DevDependency . Tout fonctionne comme prévu (développement, construction de production et tests)

pour plus d'assurance:

npm i -g npm
npm cache verify
npm i -D chokidar
npm i


5 commentaires

Il semble que ce soit suffisant pour mettre à jour Chokidar avec le NPM Update Chokidar. Une commande avait besoin au moins pour moi =)


C'est bien. Cela fonctionne-t-il avec Pure Clone? par exemple. rm -rf node_modules; NPM I; NPM Start ?


Probablement pas si vous n'avez pas mis à jour votre fichier de verrouillage de package. Alors juste rm -rf node_modules; NPM I; Mise à jour NPM Chokidar; NPM Start


Aha. agréable. J'ai juste demandé à m'assurer que d'autres coéquipiers pourraient alors bénéficier juste d'un simple npm i


Vos coéquipiers peuvent simplement NPM I si vous mettez à jour le fichier de verrouillage du package et le poussez au référentiel pour tout le monde.



25
votes

Je viens de résoudre mon problème en exécutant

Mise à jour NPM Chokidar

Cela mettra à jour le package-lock.json avec les dernières informations de Chokidar. Maintenant, l'exécution réagit sans aucun problème avec NPM 7.15 et le nœud 14.16. Il n'est pas nécessaire de forcer l'installation ou de faire quoi que ce soit excentrique. Mettez simplement à jour Chokidar pour garder vos fichiers de package cohérents et maintenir le développement en marche pour tout le monde dans l'équipe.

Le problème original est apparu lorsque j'ai mis à jour de NPM 6 à la version 7. Il y a aussi un billet de bogue dans GitHub: https://github.com/facebook/create-react-app/issues/10811


2 commentaires

Cette solution est la plus simple pour moi jusqu'à présent, merci! Résolvez le même problème exactement sur une application CRA qui vient de mettre à jour le NPM 7.


Cette solution a résolu tous mes problèmes, merci!



2
votes

La mise à jour de la dépendance de Chokidar a résolu le problème pour moi.

Mise à jour NPM Chokidar


0 commentaires

3
votes

Vous devez mettre à jour le chokidar. Il faut donc simplement appuyer sur la commande Mise à jour NPM Chokidar OU Mise à jour NPM Chokidar @ 2

Si vous obtenez une erreur comme comme Corps de réponse JSON non valide sur https://registry.npmjs cache propre. Pour cela, appuyez sur la commande NPM Cache Clean --Force

Après cela, si vous obtenez à nouveau une erreur de plus comme

 `ENOENT: no such file or directory, scandir '/node_modules/node-sass/vendor'`

alors vous avez besoin pour reconstruire le nœud Sass, en frappant la commande NPM Rebuild Node-Sass

C'est tout, comment cela a fonctionné pour moi.


0 commentaires

3
votes

C'est parce que la version de Chokidar doit être mise à jour en 3

Méthode 1:

npm i chokidar @ dernier --Force

Cela a fonctionné pour moi. Le NPM lui-même dit: NPM avertit chokidar@2.1.8: Chokidar 2 se cassera sur le nœud v14 +. Mettez à niveau vers Chokidar 3 avec 15x moins de dépendances.


Méthode 2 (recommandée):

Correction d'audit NPM

Si vous vous connectez via Proxy sur le réseau d'entreprise, cela peut ne pas fonctionner pour vous et vous pourriez obtenir quelque chose comme ceci:

npm err! Audit Point de terminaison a renvoyé une erreur


Méthode 3:

  • rétrograder la version NPM à 6

Méthode 4:

mise à jour NPM --Force

ne serait pas recommandé pour les grands projets.


0 commentaires

0
votes

J'ai eu ce problème aujourd'hui Je recherche partout, puis je résouse mon problème avec ceci:

$ MISE À JOUR NPM - Force


0 commentaires