J'ai besoin d'exécuter la dernière version de Node et NPM sous Windows. J'ai installé Node 0.5.8 et téléchargé les sources de NPM depuis GitHub. Les étapes que j'ai suivies pour installer NPM ont été répertoriées sur son site GitHub mais j'ai un problème lors de l'exécution de la commande suivante:
node cli.js install npm -gf
mais il échoue avec le message d'erreur suivant:
Error: connect UNKNOWN
at errnoException (net_uv.js:566:11)
at Object.afterConnect [as oncomplete] (net_uv.js:557:18)
System Windows_NT 5.1.2600
command "...\\Node\\bin\\node.exe" "...\\npm\\cli.js" "install" "npm" "-gf"
cwd ...\npm
node -v v0.5.8
npm -v 1.0.94
code UNKNOWN
Je pense que c'est un problème car j'ai besoin d'une authentification sur mon proxy pour me connecter à Internet. Mais je n'ai trouvé aucun moyen de dire au programme d'installation d'utiliser mes informations d'identification pour la connexion. Existe-t-il une possibilité de fournir mon IP proxy et mes informations de connexion à l'installation de npm, peut-être via des arguments de ligne de commande?
Je peux fournir le journal complet (mais ne semble pas avoir plus d'informations pertinentes) en utilisant pastebin si nécessaire.
Réponses:
set http_proxy
a très bien fonctionné pour moi, mais je devais le saisir à chaque fois que j'ouvrais l'invite de commande. J'ai donc dû combiner plusieurs réponses et maintenant la mienne est permanente.Ma séquence s'est déroulée comme suit:
C:\Users\YourUserName
.npmrc
proxy = http://domain\\username:password@ip:port
proxy = http://username:password@ip:port
npm
D'autres ont eu un succès supplémentaire avec la commande supplémentaire suivante:
strict-ssl = false
* Vous devriez pouvoir utiliser une adresse IP ou l'URL du proxy à la place de "IP" ci-dessus.
Votre chaîne proxy doit peut-être être légèrement modifiée, mais cela a fait en sorte que je n'ai pas eu à l'ajouter à chaque fois.
À votre santé
la source
proxy = http://ip:port/ https-proxy = http://ip:port/ registry = http://registry.npmjs.org/ strict-ssl = false
domain\\user:password@urltoproxy:port
cependant, lorsque j'exécutenpm install
les changements d'option surdomain/user:password@urltoproxy:port
Alors, comment puis-je contourner cela?-ssl=false registry=http://registry.npmjs.org/ proxy=http://domain\\username:password#@proxy.url:8080
puis quand je reçois le réglage de la configuration avecnpm config get proxy
:http://domain/username:password#@proxy.url:8080
notez que la barre oblique inversée '\\' change en barre oblique '/'Peut-être que la définition d'une variable d'environnement fonctionnera pour vous:
(Dans mon cas, cela résout la "connexion inconnue", mais j'obtiens une erreur de "socket raccrocher" complètement différente. J'ai également essayé de définir la variable d'environnement HTTPS_PROXY, mais j'ai obtenu le même résultat.)
la source
set HTTP_PROXY=http://domain\user:[email protected]:port
J'ai eu ce problème identique et voici ce que j'ai fait pour que cela fonctionne:
C:\Users\YourUserName
.npmrc
Et son entrée se lira:
Essayez à
node cli.js install npm -gf
nouveau la commande .la source
node config set proxy http://username:password@server:port
~/.npmrc
fichier comme ci-dessus, qui indique à npm d'utiliser lehttp://
registre à la placehttps://
, puis de définir mahttp_proxy
variable d'environnement surhttp://myusername:[email protected]:1234
Après quelques recherches, je pourrais l'utiliser de cette façon:
Installez NTLM Authorization Proxy Server ou un autre serveur proxy pour NTLM, comme Cntlm. Personnellement, je préfère le serveur python, car je peux le bricoler et les performances ne sont pas un problème.
Installez la configuration; notez que dans mon cas, je devais activer le mode LM et NT, et je soupçonne que c'est le cas normal, de nos jours.
Définissez la variable d'environnement http_proxy et https_proxy pour pointer vers votre proxy local:
définir http_proxy = "localhost: 5865"
définir https_proxy = "localhost: 5865"
npm devrait fonctionner maintenant, bien sûr, il devrait être exécuté à partir d'un shell où les variables d'environnement ci-dessus sont définies.
la source
Ce qui suit a fonctionné pour moi.
Sous Windows 7:
Cela devrait créer un fichier nommé
.npmrc
dans leC:/users/<username>
dossier.la source
Tapez ceci en ligne de commande:
npm set proxy http://user:pass@ip:port
npm set https-proxy http://user:pass@ip:port
N'OUBLIEZ PAS D'INCLURE HTTP: // avant votre nom d'utilisateur. Ça a marché pour moi.
la source
Ce problème a été résolu pour moi après avoir créé le fichier .npmrc comme ci-dessus, puis exécuté la commande adduser et les invites cmd suivantes.
Exécutez la comman suivante pour voir si vous avez un nom d'utilisateur autorisé:
la source
Chacune des réponses ci-dessus nécessite que l'utilisateur écrive son mot de passe dans un fichier texte ou dans une variable d'environnement.
Personnellement, je n'ai pas aimé une solution comme celles-ci, pour leur approche peu sûre. J'ai donc essayé d'écrire une application qui injecte le token Kerberos de l'utilisateur actuel dans les échanges entre le client (npm, bower, git) et le proxy. Cela dit, Active Directory n'est qu'une implémentation propriétaire de Kerberos.
J'utilise ce logiciel tous les jours, sur un hôte Windows 8.1. Vous pouvez trouver le code (golang) et les premières versions binaires sur https://github.com/nilleb/authentication-proxy .
la source
Les trois choses ont fonctionné pour moi dans .npmrc
la source
Au moins sous Windows, cela fonctionne pour moi avec le paramètre suivant:
c'est-à-dire (1) utiliser
%5C
au lieu de\
(comme suggéré ailleurs) et (2) utiliser l'adresse IP au lieu du nom de la machine locale pour le serveur proxy.la source
Vous obtiendrez l'hôte proxy et le port auprès de votre administrateur de serveur ou du support.
Après cette configuration
S'il y a un caractère spécial dans le mot de passe, essayez avec% urlencode. Par exemple: - la livre (hachage) doit être remplacée par% 23.
la source
La solution qui a fonctionné pour moi est la suivante:
npm config set http_proxy http: // nom d'utilisateur : mot de passe @ hôte / IP : port
npm config set proxy http: // nom d'utilisateur : mot de passe @ hôte / IP : port
remplacer les paramètres par les valeurs, dans mon cas
nom d'utilisateur : (vide)
mot de passe : (vide)
hôte / IP : 192.36.36.110
port : 8080
donc mes commandes sont
ensemble de configuration npm http_proxy http: //: @ 192.36.36.110: 8080
npm config set proxy http: //: @ 192.36.36.110: 8080
la source
CNTLM n'a pas fonctionné pour moi. J'ai essayé toutes les combinaisons possibles. NPM donnait une erreur d'authentification. Fiddler est venu pour sauver et a sauvé mon temps. Il est facile à installer et à configurer. Définissez la règle du violon sur Authentifié automatiquement. Dans .npmrc, définissez-les
Ça a marché pour moi :)
la source
Ce qui a fonctionné pour moi était le suivant:
Je n'ai pas eu à saisir de nom d'utilisateur ou de mot de passe, simplement l'URL du fichier PAC.
la source