npm ne fonctionne pas après la suppression du cache

127

Avant de vider le cache

npm cache clear

npm fonctionne bien. Après avoir vidé le cache, cela ne fonctionne pas. Le journal des erreurs ci-dessous suggère un problème de connectivité Internet, mais la connexion Internet est très bien. Ce problème ne se produit pas seulement pour bower mais pour tous les modules.

Voici le résultat du processus:

> sudo npm install -g bower Password: npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower npm ERR! network connect ETIMEDOUT
> npm ERR! network This is most likely not a problem with npm itself npm
> ERR! network and is related to network connectivity. npm ERR! network
> In most cases you are behind a proxy or have bad network settings. npm
> ERR! network npm ERR! network If you are behind a proxy, please make
> sure that the npm ERR! network 'proxy' config is set properly.  See:
> 'npm help config'
> 
> npm ERR! System Darwin 12.5.0 npm ERR! command
> "/usr/local/Cellar/node/0.10.16/bin/node" "/usr/local/bin/npm"
> "install" "-g" "bower" npm ERR! cwd /Users/username npm ERR!
> node -v v0.10.16 npm ERR! npm -v 1.3.8 npm ERR! syscall connect npm
> ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! npm ERR!
> Additional logging details can be found in: npm ERR!    
> /Users/username/npm-debug.log npm ERR! not ok code 0
user3044659
la source
avez-vous découvert la cause du problème - utilisez-vous un proxy pour vous connecter en externe?
ali haider
1
La question ici posée sur "npm cache clear", mais le corps de la question montre la sortie de "npm install" à la place, ce qui signale clairement un ETIMEOUT. Erreur, puisque le PO ne s'est pas clarifié depuis environ 2 ans, je pense que cette question devrait être close.
Mark Stosberg

Réponses:

144

Cela a fonctionné pour moi:

npm cache clean --force 
ASHISH RANJAN
la source
7
Cela n'a pas fonctionné pour moi sur Windows 10 (aucune erreur, juste rien). J'ai dû supprimer manuellement tous les dossiers à l'intérieur%appdata%\npm-cache
plasmid87
Merci, a fonctionné pour mon ordinateur avec --force addition (WIN 10)
Murat ÖNER
2
npm WARN using --force I sure hope you know what you are doing.Soyez prudent avec l'utilisation de la force, petit jedi
Brenno Leal
133

Ça devrait être

npm cache clean  

Voir https://docs.npmjs.com/cli/cache.html

Par Aronsson Quested
la source
25
Cette réponse était peut-être correcte à l'époque, lorsque npm était à la version 1.3.8 comme mentionné dans la question. Cependant, dans npm 2.8.3 et npm 3.3.0 , "clear" est un alias silencieux pour "clean", donc il ferait la même chose.
Mark Stosberg
ressource introuvable dans votre lien partagé
Prageeth godage
61

"À partir de npm @ 5, le cache npm s'auto-guérit des problèmes de corruption et les données extraites du cache sont garanties. Si vous voulez vous assurer que tout est cohérent, utilisez

npm cache verify

au lieu."

RBZ
la source
22
«cache» et «garanti valide» n'appartiennent pas à la même phrase.
gburton le
1
@gburton, c'est la documentation npm copiée directement depuis le terminal.
RBZ
18
alors je suppose que le message du NPM est faux. Rien n'est garanti pour s'auto-guérir. Nous ne vivons pas dans un pays de magie.
gburton
@RBZ, veuillez inclure la commande que vous avez utilisée pour générer cette instruction d'aide.
JosephHarriott
1
@JosephHarriott Vous pouvez exécuter npm cache clean pour voir le message exact
Neil
21

essayez celui-ci npm cache clean --force après cette course npm cache verify

AAshish jha
la source
10

Je tente de

npm cache clean 

Mais npm a déclaré que la nouvelle version sur npm (> 5) a un mécanisme d'auto-guérison et que tout ce que je dois faire pour vérifier npm est d'utiliser vérifier

npm cache verify

message npm:

The npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. 

If you want to make sure everything is consistent, use 'npm cache verify' instead.

mais pour forcer npm, utilisez ceci:

npm cache clean --force
Masoud Bimar
la source
9

Essayez npm cache clean --forcesi cela ne fonctionne pas, puis supprimez manuellement le dossier% appdata% \ npm-cache.

et installer npm install npm@latest -g

Cela a fonctionné pour moi.

visitez ce lien

rester fidèle
la source
6

Essayez npm cache clean --forcesi cela ne fonctionne pas, puis supprimez manuellement le %appdata%\npm-cachedossier.

Cela a fonctionné pour moi.

Saurabh Agrawal
la source
1

Le chemin de l'environnement a peut-être été supprimé.

Vérifiez-le en tapant,

npm config get prefix

Il doit s'agir de l'emplacement où se trouvent les binaires npm.

Dans les fenêtres, c:/users/username/AppData/Roaming/npmc'est l'endroit où ils se trouvent.

Ajoutez cet emplacement à la variable d'environnement. Cela devrait fonctionner correctement.

(Panneau de configuration -> Recherchez 'Variables d'environnement' et cliquez sur un bouton portant ce nom -> modifier le chemin -> ajouter l'emplacement ci-dessus)

Maharaj Santhir
la source
Il est hautement improbable que ce soit le problème.
Alexis Tyler le
0

J'ai résolu ce problème en exécutant cmd en tant qu'administrateur. avant cela, j'essayais de courir en vs code.

exécutez-le dans Power Shell ou Cmd avec des privilèges administratifs. J'espère que cela aidera.

npm install g @angular/cli@latest
Saad Abbasi
la source
-1

J'ai dû installer la dernière version de NodeJS. Cela a fonctionné pour moi.

André Evangelista
la source