308 votes

Existe-t-il un moyen de faire en sorte que npm install (la commande) fonctionne derrière un proxy?

En savoir plus sur une variable proxy dans un fichier .npmrc mais cela ne fonctionne pas. Essayer d'éviter de télécharger manuellement tous les paquets et l'installation requis.

387voto

renatoargh Points 3805

J'ai résolu ce problème de cette façon:

  1. Je lance cette commande:

    npm config set strict-ssl false
    
  2. Puis définissez les mnp à exécuter avec http au lieu de https:

    npm config set registry "http://registry.npmjs.org/"
    
  3. Puis-je installer des packages en utilisant cette syntaxe:

    npm --proxy http://username:password@cacheaddress.com.br:80 \
    install packagename
    

Passez l' username:password de la partie si le proxy ne requiert pas de vous authentifier

EDIT: UN ami à moi vient de rappeler que vous pouvez obtenir MNP à travailler derrière un proxy en définissant à la FOIS HTTP_PROXY et HTTPS_PROXY variables d'environnement, puis l'émission normalement la commande npm install express (par exemple)

EDIT2: @BStruthers commenté, gardez à l'esprit que les mots de passe contenant "@" ne sera pas analysé correctement

362voto

j.i.t.h.e.s.h Points 492

Configuration npm proxy

Pour HTTP :

 npm config set proxy http://proxy_host:port
 

Pour HTTPS :

 npm config set https-proxy http://proxy.company.com:8080
 

120voto

Kayvar Points 4239

En cas de doute, essayez toutes ces commandes, comme je le fais:

 npm config set registry http://registry.npmjs.org/
npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set strict-ssl false
set HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
set HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export http_proxy=http://myusername:mypassword@proxy.us.somecompany:8080

npm --proxy http://myusername:mypassword@proxy.us.somecompany:8080 \
--without-ssl --insecure -g install
 

36voto

Ben Humphreys Points 1715

Avez-vous essayé les options de ligne de commande au lieu du fichier .npmrc ?

Je pense que quelque chose comme npm --proxy fonctionné pour moi.

J'ai aussi vu ce qui suit: http://proxy-server:8080/

8voto

Sharan Rajendran Points 512
$ npm config set proxy http://login:pass@host:port
$ npm config set https-proxy http://login:pass@host:port

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