web-dev-qa-db-fra.com

installation npm sans SSL

J'ai un Ubuntu VM qui a du mal à se connecter à des sites avec SSL, c'est-à-dire https. Il peut réussir à télécharger des artefacts depuis Internet si l'URL commence par http.

npm install téléchargera les dépendances via https. Existe-t-il de toute façon à le télécharger via http?

56
Ken Hirakawa

Essayez de changer le registre en version http plutôt que celui par défaut https en utilisant la commande

npm config set registry http://registry.npmjs.org/
135
colinf

Comme l'a dit Conlinf, les éléments suivants devraient fonctionner:

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

Maintenant, pour ajouter mon Word, vous devez également considérer que le téléchargement sans SSL permet une attaque de l'homme du milieu. C'est seulement pour ajouter un avertissement aux personnes qui liraient le message.

Si vous êtes un développeur solo, le téléchargement direct dans http ne devrait pas poser beaucoup de problèmes, mais si je voulais attaquer une entreprise en utilisant node.js, j'envisagerais de livrer du code malveillant via npm ... Et d'effectuer une telle attaque sans SSL sera beaucoup plus facile.

13
Creasixtine

Après beaucoup d'essais et d'erreurs, j'ai constaté qu'en plus de tout ce qui a été dit ci-dessus, je dois également définir le https-proxy à la valeur de http proxy.

Ainsi, le fichier .npmrc de fin ressemble

proxy=http://username:[email protected]:port/
https-proxy=http://username:[email protected]:port/
strict-ssl=false
registry=http://registry.npmjs.org/

Notez que proxy et https-proxy sont identiques!

Voir les commentaires sur ce fil pour plus d'informations:

https://github.com/npm/npm/issues/8034

J'ai aussi couru un npm cache clean --force après avoir mis à jour le npmrc pour faire bonne mesure mais je ne sais pas si c'est nécessaire.

J'espère que ça t'as aidé.

9
phyatt