2016-06-16 12 views
31

Mój npm utknął dużo, czy jego npm zainstalować z package.json lub poszczególnych pakietów.npm utknie na fetchMetadata -> sieć

Teraz nie jestem nawet w stanie sudo npm install node-inspector -g

Używam node 6.2.1, npm 3.9.5 na ubuntu 16.04

npm cache clear nie zrobił pomoc. Instalacja trwa kilka godzin lub kończy się niepowodzeniem.

+0

rozwiązałeś? – Mikki

+0

To był problem związany z siecią mojej firmy. kiedy przełączyłem się na sieć gości, wszystko działało dobrze. Nie wiem, co się stało. Ale tak, teraz działa bez żadnej poprawki –

+0

Pozostawiłem pytanie otwarte, ponieważ istnieje wiele różnych przyczyn tego problemu i wiele poprawek. –

Odpowiedz

30

Sprawdź, czy nie występują problemy z serwerami proxy, jeśli używasz. Można spróbować również ręcznie ustawić punkt końcowy KMP w:

npm config set registry="http://registry.npmjs.org" 
+1

Musiałem umieścić "http: //" przed adresem URL rejestru, ale to działało, dziękuję! – Brett84c

+1

@ Brett84c, dzięki za opinie, zaktualizowałem swoją odpowiedź! –

+0

To mi nie pomogło. Gdybym użył przędzy, zainstaluj to, co to jest, – myDoggyWritesCode

12

spróbować yarn instalator zamiast KMP:

sudo npm install -g yarn 
yarn install 

Znalazłem to znacznie bardziej odporne na takie problemy.

+1

@ssethupathi. Zasadniczo, przędza jest alternatywnym narzędziem CLI do npm. Nadal możesz użyć pliku 'pakiet.json' do zadeklarowania swoich zależności, a te zależności będą nadal zainstalowane w' node_modules'. – yegeniy

+0

Dla każdego, kto to widział, preferowana metoda przędzy jest tutaj: https://yarnpkg.com/en/docs/install –

0

Posiadanie tego samego problemu. Naprawiono go, przełączając na poprawną wersję węzła wymaganą przez projekt.

Mój projekt potrzebny węzeł >=v4.3 and <=v5.

1) Sprawdzić wersję węzeł używany przez nvm ls

2) Użyj nvm use [version] albo zainstalować konkretną wersję. jeśli nie masz.

1

Mam ten sam problem. Przede wszystkim spróbuj uruchomić npm install z flagą -verbose. To może pomóc w zidentyfikowaniu problemu.

To polecenie powiedział mi, że miał jakiś problem z gniazdem tunelowania:

tunneling socket could not be established, cause=write EPROTO 101057795:error:140770FC:SSL routines:SSL 23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:

Potem google błąd i znaleźć thread on github o tym problemie. Problem występował w proxy: wcześniej ustawiłem zmienną środowiskową HTTP_PROXY, a po usunięciu zmienną środowiskową npm install ukończyłem bez żadnego błędu.

+0

Awesome man! Zidentyfikowaliśmy problem za pomocą flagi -verbose. To jest błąd serwera proxy. Zmieniam proxy na null teraz działa poprawnie. – Vasi

1

Dla mnie było to podwójne katalogi w Windows.

Otwórz wiersz polecenia i wpisać:

echo %TEMP% 

Powinieneś otrzymać ścieżkę do jednego katalogu. Jeśli otrzymujesz wiele katalogów (otrzymałem C: \ Users \\ AppData \ Local \ Temp; C: \ xampp \ php), może to być problem. Można to naprawić za pomocą polecenia:

SET TEMP="<correct path to temporary directory>" 

gdzie <correct path to temporary directory> może być pierwsza ścieżka (przed średnikiem, czyli C:\Users\<user>\AppData\Local\Temp w moim przypadku).

+0

Niezły. To przeszkadzało współpracownikowi przez większą część dnia – Tseng

2

Miałem ten sam problem z kilkoma różnymi instalacjami zawieszonymi na fetchMetaData, łącznie z instalacją wymienionego powyżej yarn.Jestem na Mac i rozwiązać go aktualizując npm następująco:

npm install [email protected] -g 

Więc jeśli napotykają ten problem na Mac, a następnie spróbuj zaktualizować i sprawdzić, czy to rozwiązuje problem.