web-dev-qa-db-fra.com

Pouvez-vous configurer NO_PROXY dans NPM?

Lorsque j'utilise un référentiel npm privé, j'ai besoin de pouvoir envoyer certaines demandes via un serveur proxy et d'autres directement au serveur.

Habituellement, la définition des variables d'environnement HTTP_PROXY, HTTPS_PROXY et NO_PROXY résout ce problème.

Je comprends que npm n'a pas d'option de ligne de commande pour no_proxy, mais je n'ai pas réussi à faire en sorte que npm respecte la variable d'environnement NO_PROXY: après avoir défini les variables d'environnement ci-dessus, l'installation de npm expire lors du téléchargement de bibliothèques externes (qui nécessitent de être téléchargé via le proxy d'entreprise)

Mon fichier ~/.npmrc présente les éléments suivants:

registre = http: // [internal_npm_registry]

email = [email]

J'utilise la version 3.10.10 de npm. Quelqu'un a-t-il eu le même besoin et l'a-t-il résolu?

9
Daniel Pulitano

J'ai eu le même problème au travail: nous avons un référentiel privé Nexus npm où nous hébergeons des modules personnalisés et nous avions besoin de npm pour ne pas utiliser le proxy lors de la demande de ces packages.

La seule solution fiable que j'ai trouvée pour Windows a été de définir les variables d'environnement que vous avez répertoriées et de supprimer toutes les valeurs proxy de npm (set proxy, https-proxy et https_proxy tout à null dans votre .npmrc fichier).

Ainsi, par exemple, le .npmrc le fichier à la racine du projet ressemble à ceci:

strict-ssl=false
ca=null
registry=http://my-nexus-repo.com/repository/npm-packages/
my-custom-registry-on-nexus:registry=http://my-nexus-repo.com/repository/hosted-npm-packages/
https_proxy=null
https-proxy=null
proxy=null

En suivant l'exemple ci-dessus, votre no_proxy la variable d'environnement ressemblerait à ceci:

my-nexus-repo.com,localhost

Cela nous a permis d'installer de façon transparente tous les packages npm (même les plus délicats comme node-sass qui télécharge des tarballs en dehors de npm).

7
GFoley83

Avec npm 5.3.0 / node 8.4.0, les NO_PROXY la variable d'environnement fonctionne comme un charme!

5
Jonathan POIRIER