361 votes

Erreur d'installation de NPM : Fin inattendue de l'entrée JSON lors de l'analyse près de '...nt-webpack-plugin" : "0".

Lors de la création d'un nouveau projet Angular 5 :

version du nœud : 8.9.2

Version de npm : 5.5.1

Mon commandement est

npm install -g @angular/cli

l'erreur est

npm ERR! **Unexpected end of JSON input while parsing near '...nt-webpack-plugin":"0'**
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Aashitec\AppData\Roaming\npm-cache\_logs\2017-12-06T13_10_10_729Z-debug.log

le journal des erreurs est http://www.aashitechno.in/2017-12-06T13_10_10_729Z-debug.log

40 votes

"npm cache clean --force" sans guillemets pourrait être la réponse à votre question.

6 votes

Ça a marché pour moi, je l'ai dit en espérant que je savais ce que je faisais. Je ne le savais pas.

0 votes

sudo npm cache clean --force sudo npm cache verify sudo npm i npm@latest -g Ces commandes ont fonctionné pour moi

846voto

McEmmy Points 444

Cela a résolu le problème pour moi :

Ouvrez Windows Powershell en tant qu'administrateur

npm cache clean --force
npm install -g @angular/cli

https://devblogs.microsoft.com/premier-developer/getting-started-with-node-js-angular-and-visual-studio-code/

15 votes

Cela a fonctionné pour moi, mais je dois ouvrir le terminal en tant qu'administrateur.

0 votes

@McEmmy : J'ai fait comme vous l'avez mentionné mais le problème est toujours présent. Unexpected token , in JSON at position 366360 while parsing near '... } npm ERR! } npm ERR! }, npm ERR! "webpack-log":...'

0 votes

@Kalanka pouvez-vous nous dire si vous avez résolu ce problème et comment vous l'avez fait ?

177voto

Allal Mohamed Points 1182

Solution :

npm cache clean --force

puis réessayez de créer votre application (ici lors de la création d'une application react) ou d'installer ce que vous étiez sur le point d'installer.

create-react-app myproject

(création d'une application react) [même problème de npm qui peut se produire dans une opération différente].

npm install -g @angular/cli@latest

(installation d'angular cli (ou installation de toute autre chose))

Ça va marcher.

l'explication :

C'est un problème lié à npm, il s'agit du cache qui est corrompu. Même si dans les versions plus récentes de npm, ils ont implémenté l'auto-guérison, qui garantit normalement qu'il n'y a pas de corruption, mais il semble que ce ne soit pas si efficace. enter image description here Forcer le nettoyage du cache résout le problème.

L'erreur se produit lors de l'analyse d'un des fichiers de cache, qui ont un format json. Le cache se trouve dans ~/.npm/_cacache (sous linux) et %AppData%/npm-cache (Windows). Pour ma version actuelle de npm et lorsque j'ai vérifié, il y avait trois répertoires.
enter image description here

si vous vérifiez le premier ou le second, la structure est la suivante enter image description here

Et chaque fichier de cache a un format json (et c'est ce qui est analysé). enter image description here

Voici un bon lien du docteur : https://docs.npmjs.com/cli/cache

[Mise à jour] Si cela n'a pas résolu le problème, vous pouvez consulter cette réponse ici https://stackoverflow.com/a/50191315/7668448 il montre comment vous pouvez modifier le registre npm, cela peut être utile. Vérifiez et voyez.

2 votes

Je me demandais pourquoi cela se produisait et je soupçonnais que mes fichiers étaient corrompus à cause d'une mauvaise connexion Internet, ce qui a entraîné la corruption du fichier de cache puisque le téléchargement n'était pas complet.

1 votes

Oui et un non incertain. Oui, c'était un problème dans le passé. Comme dans ce fil de discussion github.com/npm/npm/issues/4652 . Mais ils y travaillent. Maintenant, je ne suis pas sûr, peut-être que c'est résolu. Tout dépend de l'implémentation et de la façon dont npm gère toutes les étapes, de la recherche à la mise en cache et à l'installation. Je n'ai pas le temps de passer par l'interne de npm en ce moment. Mais j'élabore autour de cette question, en faisant quelques recherches. Je vais écrire un article, et mettre à jour la réponse plus tard quand ce sera fait. Sachez qu'il peut y avoir d'autres raisons à l'erreur qu'une corruption du cache,

0 votes

Voici un fil intéressant : Ici, un fil de discussion intéressant github.com/yarnpkg/yarn/issues/393

80voto

MD SHAYON Points 93

Si

npm cache clean --force

ne fonctionne pas. Essayez

npm cache clean --force
npm update

3 votes

Cette réponse devrait obtenir plus de votes. La mise à jour est une étape importante et j'ai également perdu près de 3 heures parce que je n'ai pas été en mesure de trouver cette réponse.

2 votes

À partir de mai 2020, c'est la seule solution qui fonctionne parfaitement comme prévu pour l'erreur de flux de travail.

2 votes

Sans aucun doute, c'est en effet une réponse parfaite. La seule solution qui a fonctionné pour moi.

30voto

Amit Gaikwad Points 155

Npm utilise le cache pour télécharger de nouveaux paquets pour vous. Vous devez vider votre cache npm. Utilisez la commande suivante pour nettoyer :

npm cache clean --force

puis utilisez normalement votre commande npm install par exemple

npm install -g @angular/cli

10voto

BloodLoss Points 542

Ceci a résolu le problème npm cache clean --force

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