web-dev-qa-db-fra.com

npm reste bloqué sur fetchMetadata -> réseau

Mon npm est souvent bloqué, que ce soit son installation depuis package.json ou des packages individuels.

Pour le moment, je ne suis même pas capable de Sudo npm install node-inspector -g

J'utilise node 6.2.1, npm 3.9.5 sur ubuntu 16.04

npm cache clear n'a pas aidé . L'installation prend des heures ou échoue.

47
Dushyant Bangal

Vérifiez s'il y a des problèmes avec les procurations si vous en utilisez. Vous pouvez également essayer de définir manuellement le noeud final de npm:

npm config set registry="http://registry.npmjs.org"
50
Konstantin Azizov

essayez yarn installer à la place de npm:

Sudo npm install -g yarn
yarn install

Je l'ai trouvé beaucoup plus résistant à de tels problèmes.

17
Tomer Ben David

J'ai eu ce même problème, avec plusieurs installations suspendues sur fetchMetaData, y compris l'installation de yarn mentionnée ci-dessus. Je suis sur une Mac et je l'ai résolu en mettant à jour npm comme suit:

npm install npm@latest -g

Par conséquent, si vous rencontrez ce problème sur Mac, essayez de le mettre à jour pour voir s'il résout votre problème.

7
BruceHill

Pour moi, c’était les répertoires double temp sous Windows.

Ouvrez une invite de commande et tapez:

echo %TEMP%

Vous devriez recevoir le chemin vers un seul répertoire. Si vous recevez plusieurs répertoires (j'ai reçu C:\Utilisateurs \\ AppData\Local\Temp; C:\xampp\php), cela pourrait être le problème. Vous pouvez le réparer en utilisant cette commande:

SET TEMP="<correct path to temporary directory>"

<correct path to temporary directory> pourrait être le premier chemin (avant le point-virgule, cela signifie C:\Users\<user>\AppData\Local\Temp dans mon cas).

3
Ogglas

J'ai le même problème. Tout d'abord, essayez d'exécuter npm install avec l'indicateur -verbose. Cela peut vous aider à identifier votre problème. 

Cette commande m'a dit que j'avais un problème avec le tunneling socket:

impossible d'établir le tunneling, cause = écriture. EPROTO 101057795: erreur: 140770FC: routines SSL: SSL 23_GET_SERVER_HELLO: protocole inconnu: openssl\ssl\s23_clnt.c: 794:

Après cela, j'ai googlé l'erreur et trouvé thread sur github à propos de ce problème. Le problème était dans le proxy: auparavant, j'avais configuré la variable d'environnement HTTP_PROXY et après l'avoir supprimée, la variable d'environnement npm install s'était terminée sans erreur.

2
feeeper

Après environ 3 heures de suivi de notre problème, il s’est simplement agi de:

npm config rm proxy
npm config rm https-proxy
1
danjones_mcr

Avez-vous configuré un proxy? Voir si cela retourne quelque chose:

> npm config get https-proxy
> npm config get proxy

Si vous avez des valeurs configurées ici, elles risquent de ne pas correspondre aux bonnes. Si vous ne devriez pas utiliser de proxy, vous pouvez les supprimer:

> npm config delete https-proxy
> npm config delete proxy

Docs: https://docs.npmjs.com/cli/config

1
Paul Melero

Beaucoup de choses différentes peuvent causer ce problème.

J'avais essayé beaucoup de choses, y compris la plupart des réponses postées ici, mais pas de chance.

Pour une raison étrange, c'était le problème de mon fournisseur de services Internet. Cela a bien fonctionné lorsque j'ai essayé un autre fournisseur de services Internet.

1
Dushyant Bangal

Pour la plus grande partie de la population, le problème pourrait être lié aux paramètres de proxy et pourrait être résolu par les solutions susmentionnées.

Pour moi, le problème était autre chose. J'ai des dépendances de référentiels privés hébergées chez Bitbucket et résolues via "git + ssh: //[email protected]/", ce dernier utilise SSH pour récupérer le référentiel.

SSH préfère par défaut IPv6 si DNS récupère un enregistrement AAAA et si l'hôte en possède un. Puisque Bitbucket a un enregistrement AAAA, SSH est effectué sur IPv6. Mais mon FAI ne prend pas en charge IPv6 (vous pouvez vérifier si IPv6 prend en charge le support de votre FAI en effectuant un test dans http://ipv6-test.com/ ).

Pour résoudre ce problème, vous pouvez forcer le client SSH à utiliser IPv4 au lieu d’IPv6.

Définissez AddressFamily inet dans /etc/ssh/ssh_config et redémarrez le client SSH.

Sur Ubuntu pour redémarrer le client SSH, utilisez Sudo service ssh restart

0
giridhar

Ayant le même problème. Corrigé en basculant sur la version correcte du noeud requise par le projet.

Mon projet avait besoin du noeud >=v4.3 and <=v5.

1) Vérifiez la version du noeud utilisée par nvm ls

2) Utilisez nvm use [version] ou bien installez la version spécifique. si vous n'avez pas.

0
myDoggyWritesCode