web-dev-qa-db-fra.com

Erreur de proxy NodeJS NPM lors de l'installation de grunt

Lorsque j'essaie d'installer grunt via npm, j'obtiens une erreur suivante:

C:\Program Files\nodejs\node_modules\npm>npm install -g grunt
npm ERR! network connect ETIMEDOUT
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "grunt"
npm ERR! cwd C:\Program Files\nodejs\node_modules\npm
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! syscall connect
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Program Files\nodejs\node_modules\npm\npm-debug.log
npm ERR! not ok code 0

J'utilise des configurations de proxy d'entreprise et je pense que cette erreur me pose problème à cause de ses configurations. Que dois-je changer pour pouvoir installer grunt avec succès?

19
Anton Selin

Vous devez configurer le fichier de configuration npm, cela peut être fait dans le terminal:

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

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

Votre journal des erreurs suggère de voir 'npm help config', je pense donc que le problème vient de là.

Si vous voulez un lien avec plus d'explications, voir cette entrée de blog (il y en a beaucoup plus)

Bonne chance!

23
Kangcor

Si vous travaillez derrière un proxy dans un domaine "Windows", ajoutez le nom de domaine dans l'URL du proxy:

npm config set proxy http://domain%5Cuser:[email protected]:8080
npm config set https-proxy http://domain%5Cuser:[email protected]:8080

Vous devez coder la barre oblique inversée en tant que chaîne http uri:% 5C

Si votre nom d'utilisateur ou votre mot de passe contient des caractères spéciaux, il est également nécessaire de les encoder. Notez que ces informations critiques sont stockées sous forme de texte brut dans le fichier de configuration npm (% HOME% \. Npmrc) . Il peut également être nécessaire de pointer le registre npm vers la source http:

npm config set registry "http://registry.npmjs.org"
npm config set strict-ssl false
10

Cette configuration fonctionne pour moi. Vous devez vérifier vos ports http et https (généralement 80 et 443 respectivement), mais dans mon cas, j'utilise le port 80 pour les deux.

npm config set proxy http://user:[email protected]:80

npm config set https-proxy http://user:[email protected]:80

Vous pouvez vérifier vos paramètres de proxy avec la commande get

npm config get proxy

npm config get https-proxy
6
Devnegikec

J'ai eu le même problème avant parce que j'ai joué avec la configuration du proxy par erreur comme ceci:

npm config set proxy http://localhost:8080/ npm config set https-proxy http://localhost:8080/ npm config set strict-ssl false

ce qui fait que le client npm tente de frapper localhost: 8080 pour extraire le module plutôt que le bon point de terminaison Internet.

donc après quelques jours de frustration j'ai visité ce lien

https://docs.npmjs.com/cli/config

puis courir

 npm config edit

qui a ouvert un fichier. à l'intérieur de ce fichier, j'ai supprimé ces trois lignes que j'ai ajoutées ci-dessus, puis tout a bien fonctionné.

4
shireef khatab

lancer >> npm config edit

après avoir ouvert le fichier de configuration dans l'éditeur, supprimez les lignes suivantes

registry = http://registry.npmjs.org/

https-proxy = http: // hôte /: port

strict-ssl = false

1
Ranjit Kumar

veuillez utiliser npm config set proxy http://xx.aa.bb.cc:port cela a fonctionné pour moi merci beaucoup!

1
Shubham Rana

La troisième chose à faire pour que NPM fonctionne bien dans le réseau proxy.

Cet ensemble de registre npm, par défaut, il peut prendre https.

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

Deuxièmement, deux proxy définis dans votre système. Si votre organisation utilise un proxy ou vous-même.

npm config set proxy " http: // nom d'utilisateur: mot de passe @ proxy-url: proxy-port "

npm config set https-proxy " http: // nom d'utilisateur: mot de passe @ proxy-url: proxy-port "

0
Himanshu sharma

vous pouvez l'exécuter en cmd 

npm config set <key> <value> [-g|--global]
npm config get <key>
npm config delete <key>
npm config list
npm config edit
npm get <key>
npm set <key> <value> [-g|--global]

npmrc.txt va s'exécuter, vous pouvez changer votre lien et votre port

 proxy =http://proxy.company.com:8080

 https-proxy = http://proxy.company.com:8080

référence

0
Elbaz

Les options ci-dessous ont fonctionné pour moi:

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

npm config set proxy http: // utilisateur: [email protected]: proxy-port

npm config set strict-ssl false

npm installer -g -d yo 

0
Dean Jain