2014-11-18 26 views
19

Kiedy próbuję zainstalować grunt poprzez npm, Dostaję następujący błąd:błąd NodeJS NPM proxy podczas instalacji grunt

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 

jestem przy użyciu konfiguracji proxy korporacyjnych i wierzę, że I” m mając ten błąd ze względu na jego konfiguracje. Co muszę zmienić, aby pomyślnie zainstalować pomruk?

Odpowiedz

20

trzeba skonfigurować plik konfiguracyjny npm, można to zrobić w terminalu:

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

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

Twój dziennik błędów sugeruje, aby zobaczyć „npm help config”, więc myślę, że problem jest stamtąd.

Jeśli chcesz link z większą wyjaśnienia patrz this blog entry (istnieje wiele więcej)

Powodzenia!

+3

Po prostu ostrzeżenie dla innych użytkowników, nie zapomnij dodać części http: //! – rory

+1

pracował dla mnie dzięki –

9

Jeśli pracujesz za serwerem proxy w "Windows" domeny, należy dodać domenę do adresu URL serwera proxy:

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

trzeba zakodować backslash jako ciąg http URI:% 5C

Jeśli w nazwie użytkownika lub haśle znajdują się znaki specjalne, konieczne jest również zakodowanie tych znaków. Należy pamiętać, że te krytyczne informacje są przechowywane jako plik tekstowy w pliku konfiguracyjnym npm (% HOME% \. Npmrc). Może być również konieczne, aby wskazać rejestr npm do źródła http:

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

Ta konfiguracja działa dla mnie. Musisz sprawdzić porty http i https (zwykle są to odpowiednio 80 i 443), ale w moim przypadku używam portu 80 dla obu.

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

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

Można sprawdzić ustawienia serwera proxy przez komendę get

npm config get proxy 

npm config get https-proxy 
2

Miałem wcześniej ten sam problem, ponieważ przez pomyłkę odtwarzałem konfigurację proxy :

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

co czyniło npm klient próbuje uderzyć localhost: 8080 wyciągnąć moduł zamiast prawidłowego końcowego Internetu.

więc po kilku dniach frustracji odwiedziłem ten link

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

następnie uruchomić

npm config edit 

który otworzył plik wewnątrz tego pliku usunąłem te trzy linie dodałem powyżej, a następnie wszystko działało dobrze.

1

można uruchomić to w 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 potrwa można zmienić linku i port

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

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

reference

0

Trzy rzeczy do pracy npm w sieci proxy.

Ten zestaw rejestru npm, domyślnie może przyjąć https.

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

Drugi to dwa ustawione proxy w systemie. Jeśli Twoja organizacja używa serwera proxy lub Ciebie.