web-dev-qa-db-fra.com

Comment puis-je résoudre l'erreur NPM "418 Je suis une théière" lorsque j'essaie d'utiliser l'installation de NPM?

J'ai essayé d'installer Yeoman et Gulp sur un serveur doté d'un proxy d'entreprise à l'aide de la commande suivante:

npm install -g yo gulp

Cependant, lorsque j'exécute cette commande (ou toute commande "npm install"), je suis touché par:

npm ERR!       E418
npm ERR! 418 I'm a teapot: gulp@latest

Je suis assez confiant que c'est un problème concernant la procuration, mais je ne peux pas comprendre ce qui la cause exactement.

Quelques tests que j'ai faits:

  • J'ai ajouté le proxy à mon fichier npmrc avec les informations de connexion pour l'authentification et je crois qu'il a été saisi correctement. Si je modifie une partie du nom d'utilisateur ou du mot de passe, mon erreur devient un E407 (échec de l'authentification).

  • J'ai lancé "npm config set strict-ssl false" et cela semblait ne rien faire.

  • J'ai essayé d'exécuter différentes installations et je reçois toujours juste "418 Je suis une théière package @ dernière".

4
forev3r

Ainsi, après quelques heures supplémentaires de fouille dans les forums et les blogs, la solution consistait à changer mon registre de " http://registry.npmjs.org/ " à " https://registry.npmjs.org/ ".

Apparemment, lorsque sur certains proxies, le registre sera redirigé vers l'adresse, mais ajoutera le port 443 à l'adresse si vous essayez de vous connecter sans https.

J'espère que cela aidera les autres personnes confrontées à ce problème!

17
forev3r

J'ai également eu cette erreur dans mon projet et la raison principale est la modification de nos paramètres de proxy. Donc, je voudrais suggérer de vérifier vos paramètres de proxy ... quelques commandes que j'ai utilisées pour résoudre cette erreur ...

npm set strict-ssl false 
npm config set registry https://registry.npmjs.org/

check = https://registry.npmjs.org/

8
Sonali more

Merci de répondre maintenant mon NPM ne montrant pas Err 418 je suis à nouveau une théière

Vous devez mettre à jour npm config comme ceci:

npm set strict-ssl false 
npm config set registry https://registry.npmjs.org/

Essayez à nouveau d'installer le paquet en utilisant npm..

3
iwan.webdeveloper

L’équipe Npm a envoyé cette déclaration comme suit: "Au plus fort des 418 réponses reçues, le trafic était de 0,01%. Npm compte un très grand nombre d’utilisateurs (plus de 10 millions de personnes), ce qui explique le trafic généré entre 500 et 1 000 incidents. De toute évidence, même un utilisateur mordu par un bogue est plus que ce que nous aimerions, mais par rapport à notre échelle, ce n'était pas un problème majeur. La configuration de proxy spécifique nécessaire pour déclencher le bogue est relativement rare, même parmi les utilisateurs. derrière les procurations, la plupart des gens n'étaient pas affectés. Une fois que nous avons été alertés du bogue dans l'analyse syntaxique de notre en-tête, l'équipe des opérations a rapidement déployé le correctif. "

Donc, les personnes derrière le proxy sont sûrement concernées car je suis confronté au même problème. Donc, la solution ici est-

Vérifiez proxy- npm get proxy et npm get https-proxy Si les deux sont définis sur aucun, veuillez le définir sur-

npm set proxy http: // proxyAddr: 8000 npm set https-proxy https: // proxyAddr: 8000

puis réessayez.

Si le problème persiste, vérifiez le registre pour npm-

npm get registry if http://registry.npmjs.org/ then,

changez-le en npm config set registry https://registry.npmjs.org/ (Cela devrait résoudre le problème, pour moi cela a fonctionné).

0
rajdeepbs29

Lorsque vous êtes derrière un pare-feu d’entreprise, vous rencontrez ce problème. Pour résoudre ce problème, j’ai suivi les étapes suivantes: 

npm set strict-ssl false npm config set registry https://registry.npmjs.org/

Si vous êtes derrière un proxy d'entreprise, vous pouvez également utiliser la commande suivante: Npm config set https-proxy http: // IP: PORT/

Ou accédez directement à votre fichier .npmrc et pointez sur https au lieu de http.

0
shiv

change le registre de http://registry.npmjs.org/ à https://registry.npmjs.org/ en utilisant la commande ci-dessous:

npm config set registry https://registry.npmjs.org/

0
Nagendra Reddy