Lisez à propos d'une variable proxy dans un .npmrc
fichier mais cela ne fonctionne pas. Essayer d'éviter de télécharger manuellement tous les packages requis et l'installation.
266
J'ai résolu ce problème de cette façon:
J'exécute cette commande:
npm config set strict-ssl false
Définissez ensuite npm pour qu'il s'exécute avec http, au lieu de https:
npm config set registry "http://registry.npmjs.org/"
Ensuite, j'installe des packages en utilisant cette syntaxe:
npm --proxy http://username:[email protected]:80 install packagename
Ignorez la username:password
partie si le proxy ne vous oblige pas à vous authentifier
EDIT: Un de mes amis vient de signaler que vous pouvez obtenir NPM travailler derrière un proxy en définissant DEUX HTTP_PROXY et variables d'environnement https_proxy, alors il utilise normalement la commande NPM installation express (par exemple)
EDIT2: Comme l'a commenté @BStruthers, gardez à l'esprit que les mots de passe contenant "@" ne seront pas analysés correctement, si contient @ mettez le mot de passe entier entre guillemets
my@password
, votre fichier .npmrc devrait avoirmy%40password
pour la partie mot de passe. Le mettre entre guillemets fonctionne dans certains cas, mais l'encoder est infaillible.Configurer le
npm
proxyPour
HTTP
:Pour
HTTPS
:utilisez l'adresse proxy https s'il y en a une
sinon réutiliser l'adresse proxy http
Remarque : le https-proxy n'a pas
https
comme protocole, maishttp
.la source
En cas de doute, essayez toutes ces commandes, comme je le fais:
=======
METTRE À JOUR
Mettez vos paramètres dans
~/.bashrc
ou~/.bash_profile
vous n'avez donc pas à vous soucier de vos paramètres à chaque fois que vous ouvrez une nouvelle fenêtre de terminal!Si votre entreprise est comme la mienne, je dois changer mon mot de passe assez souvent. J'ai donc ajouté ce qui suit dans mon ~ / .bashrc ou ~ / .bash_profile pour que chaque fois que j'ouvre un terminal, je sais que mon npm est à jour!
Collez simplement le code suivant au bas de votre
~/.bashrc
fichier:Modifiez ensuite les champs "nom d'utilisateur", "mot de passe" et "proxy" dans le code que vous avez collé.
Ouvrez un nouveau terminal
Vérifiez vos paramètres en exécutant
npm config list
etcat ~/.npmrc
Essayez d'installer votre module en utilisant
npm install __
, ounpm --without-ssl --insecure install __
, ounpm --without-ssl --insecure --proxy http://username:password@proxy:8080 install __
.-g
la source
npm config set registry http://registry.npmjs.org/
,npm config set proxy http://myusername:[email protected]:8080
,npm config set https-proxy http://myusername:[email protected]:8080
,npm config set strict-ssl false
pour config NPM puis installé le paquet de NPM à l' aidenpm --proxy http://myusername:[email protected]:8080 --without-ssl --insecure -g install {packagename}
. MerciAvez-vous essayé les options de ligne de commande au lieu du
.npmrc
fichier?Je pense que quelque chose comme ça a
npm --proxy http://proxy-server:8080/ install {package-name}
fonctionné pour moi.J'ai également vu ce qui suit:
npm config set proxy http://proxy-server:8080/
la source
Bien qu'il existe déjà de nombreux bons conseils, pour mon environnement (Windows 7, utilisant PowerShell) et la dernière version disponible de node.js (v8.1.2), tout cela n'a pas fonctionné, sauf lorsque j'ai suivi les paramètres de brunowego .
Vérifiez donc vos paramètres avec:
Paramètres derrière un proxy:
J'espère que cela fera gagner du temps à quelqu'un
la source
Cela fonctionne pour moi dans Windows:
Si vous n'êtes dans aucun domaine, utilisez:
Si votre mot de passe contient des caractères spéciaux tels que
"
,@
,:
et ainsi de suite, de les remplacer par leurs valeurs codées URL. Par exemple"
->%22
,@
->%40
,:
->%3A
.%5C
est utilisé pour le personnage\
.la source
encodeURIComponent("YourP@ssword")
pour obtenir la version encodée de votre mot de passe.Pour configurer le proxy http, définissez l'indicateur -g :
sudo npm config set proxy http://proxy_host:port -g
Pour le proxy https, assurez-vous à nouveau que l' indicateur -g est défini:
sudo npm config set https-proxy http://proxy_host:port -g
la source
la source
Cela a fonctionné pour moi-
la source
vim ~/.npmrc
dans votre machine Linux et ajoutez ce qui suit. N'oubliez pas d'ajouter uneregistry
pièce car cela provoque une défaillance dans de nombreux cas.la source
https-proxy=https://..
enhttps-proxy=http://..
Enfin, j'ai réussi à résoudre ce problème en étant un proxy avec l'authentification AD. J'ai dû exécuter:
Il est très important de coder par URL tous les caractères spéciaux comme le backshlash ou # Dans mon cas, j'ai dû coder
backshlash
avec% 5C alorsdomain\user will
soyezdomain%5Cuser
#
signer avec%23%0A
un mot de passe commePassword#2
seraPassword%23%0A2
J'ai également ajouté les paramètres suivants:
la source
Bien que j'aie défini un proxy avec config, le problème n'a pas été résolu mais après celui-ci a fonctionné pour moi:
la source
J'ai essayé toutes ces options, mais mon proxy n'en avait aucune pour une raison quelconque. Puis, né de la désespoir / désespoir, j'ai essayé
curl
au hasard dans mon shell Git Bash, et ça a marché.Désinitialisation de toutes les options de proxy à l'aide de
Et puis, courir
npm install
dans mon shell Git Bash a parfaitement fonctionné. Je ne sais pas comment il est correctement configuré pour le proxy et l'cmd
invite Windows ne l'est pas, mais cela a fonctionné.la source
Cela a résolu mon problème.
la source
Après avoir finalement lié différentes réponses, les quatre premières lignes des réponses de @Kayvar m'aident à résoudre le problème:
la source
Cela a fonctionné pour moi. Définissez le proxy http et https.
la source
Essayez de trouver .npmrc dans C: \ Users \ .npmrc
puis ouvrez (bloc-notes), écrivez et enregistrez à l'intérieur:
PS: supprimez "<" et ">" s'il vous plaît !!
la source
Pour moi, même si python, etc. fonctionnera tous, alors que notre proxy d'entreprise npm ne le ferait pas.
j'ai essayé
npm config set proxy http://proxyccc.xxx.ca:8080 npm config set https-proxy https://proxyccc.xxx.ca:8080 npm config set registry http://registry.npmjs.org/
comme indiqué mais continuait à obtenir la même erreur.
Ce n'est que lorsque j'ai supprimé
https-proxy https://proxyccc.xxx.ca:8080
du fichier .npmrc que npm install electron --save-dev a fonctionnéla source
https-proxy
n'est probablement pas le cashttps:
. Au moins, avoir le même port pour chacun n'est probablement pas correct, mais je pense qu'ils ont probablement tous les deux la même valeur.Sur le système Windows
Essayez de supprimer les paramètres de proxy et de registre (s'ils sont déjà définis) et définissez les variables d'environnement sur la ligne de commande via
essayez ensuite d'exécuter l'installation de npm. Par cela, vous ne définirez pas le proxy en .npmrc mais pour cette session, cela fonctionnera.
la source
SET HTTP_PROXY http://username:password@domain:port
mais le passage àSET HTTP_PROXY=http://username:password@domain:port
semblait tout faire fonctionnerUtilisez la commande ci-dessous à cmd ou GIT Bash ou à une autre invite
$ npm config set proxy " http://192.168.1.101:4128 "
$ npm config set https-proxy " http://192.168.1.101:4128 "
où 192.168.1.101 est l'IP proxy et 4128 est le port. changer en fonction de vos paramètres de proxy. ses travaux pour moi.
la source
De nombreuses applications (par exemple npm) peuvent utiliser les paramètres de proxy à partir des variables d'environnement utilisateur.
Vous pouvez simplement ajouter à votre environnement les variables HTTP_PROXY et HTTPS_PROXY qui auront la même valeur pour chacune
http: // utilisateur: mot de passe @ proxyAddress: proxyPort
Par exemple, si vous avez Windows, vous pouvez ajouter un proxy comme suit:
la source
Dans mon cas, j'ai oublié de définir les adresses proxy "http: //" dans mes fichiers de configuration (qui se trouvent dans C: \ Users \ [USERNAME] \ .npmrc). Donc au lieu d'avoir
j'ai eu
Ce qui bien sûr n'a pas fonctionné, mais les messages d'erreur n'ont pas beaucoup aidé non plus ...
la source
Il y a eu beaucoup de réponses ci-dessus pour cette question, mais aucune n'a fonctionné pour moi. Tous ont mentionné l'ajout d'un
http://
préfixe. Je l'ai donc ajouté aussi. Tout a échoué.Cela fonctionne finalement après que j'ai accidentellement supprimé le
http://
préfixe. La configuration finale est comme ceci:Je ne connais pas la logique derrière cela, mais cela a fonctionné. Si aucune des réponses ci-dessus ne vous convient, vous pouvez peut-être essayer de cette façon. J'espère que celui-ci est utile.
la source
Il y a de bonnes informations sur la page de curl sur SSL et les problèmes de certificats . Je base l'essentiel de ma réponse sur les informations qui s'y trouvent.
L'utilisation de strict-ssl false est une mauvaise pratique et peut créer des problèmes. Ce que nous pouvons faire à la place, c'est ajouter le certificat qui est injecté, par le certificat "l'homme au milieu".
Comment résoudre ce problème sous Windows:
openssl x509 -inform DES -in **rootcert**.cer -out outcert.pem -text
où rootcert est le nom de fichier du certificat que vous avez enregistré à l'étape 5.
npm config set cafile **C:\Users\username\cacert.pem
où C: \ Users \ username \ cacert.pem est le chemin de l'étape 10.
npm config set strict-ssl true
Phew! On l'a fait! Maintenant, npm peut comprendre comment se connecter. Le bonus est que vous pouvez dire à curl d'utiliser le même cabundle.pem et il comprendra également les HTTP.
la source
Voici les étapes que j'ai suivies (Windows):
C:\Users\<WIN_USERNAME>\.npmrc
Exportez le certificat vers votre système de fichiers à partir de l'adresse suivante: https://registry.npmjs.org
Accédez à l'emplacement du certificat exporté et exécutez la commande suivante:
npm config set cafile npm_certificate.cer
Ajoutez les modifications suivantes au fichier:
registry=https://registry.npmjs.org/ strict-ssl=false https-proxy=http://[proxy_user]:[proxy_password]@[proxy_ip]:[proxy_port]/ cafile=npm_certificate.cer
Vous devriez maintenant être prêt à partir!
la source
Mon problème se résumait à une erreur stupide de ma part. Comme j'avais un jour rapidement déposé mes proxys dans un fichier windows * .bat (http_proxy, https_proxy et ftp_proxy), j'ai oublié d'échapper les caractères spéciaux pour le domaine \ user encodé en url \ user (% 5C) et le mot de passe ayant le point d'interrogation '?' (% 3F). C'est-à-dire, une fois que vous avez la commande encodée, n'oubliez pas d'échapper au '%' dans la commande bat file.
j'ai changé
à
C'est peut-être un cas de pointe, mais j'espère que cela aide quelqu'un.
la source
lorsque je donne sans le préfixe http / http dans les paramètres proxy, npm a échoué même lorsque l'hôte proxy et le port étaient des valeurs correctes. Cela n'a fonctionné qu'après l'ajout du préfixe de protocole.
la source
Ouvrez simplement le nouveau terminal et tapez
npm config edit
etnpm config -g edit
. Réinitialiser les paramètres par défaut. Après avoir fermé le terminal, ouvrez le nouveau et tapeznpm --without-ssl --insecure --proxy http://username:password@proxy:8080 install <package>
si vous en avez besoin globalement, ajoutez-le-g
.Cela a fonctionné pour moi, j'espère que cela fonctionnera pour vous :)
la source