npm nie działa po wyczyszczeniu pamięci podręcznej

126

Przed wyczyszczeniem pamięci podręcznej

npm cache clear

npm działa dobrze. Po wyczyszczeniu pamięci podręcznej nie działa. Poniższy dziennik błędów sugeruje problem z połączeniem internetowym, ale połączenie internetowe jest w porządku. Ten problem występuje nie tylko w przypadku altan, ale także w przypadku dowolnych modułów.

Oto wynik procesu:

> sudo npm install -g bower Password: npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower 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 Darwin 12.5.0 npm ERR! command
> "/usr/local/Cellar/node/0.10.16/bin/node" "/usr/local/bin/npm"
> "install" "-g" "bower" npm ERR! cwd /Users/username npm ERR!
> node -v v0.10.16 npm ERR! npm -v 1.3.8 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!    
> /Users/username/npm-debug.log npm ERR! not ok code 0
user3044659
źródło
czy wiesz, co było przyczyną problemu - czy używasz serwera proxy do łączenia się z zewnątrz?
ali haider
1
Pytanie tutaj dotyczyło „wyczyszczenia pamięci podręcznej npm”, ale treść pytania zawiera zamiast tego dane wyjściowe polecenia „npm install”, które wyraźnie informuje o ETIMEOUT. Błąd, ponieważ PO nie wyjaśnił się od około 2 lat, myślę, że to pytanie powinno zostać zamknięte.
Mark Stosberg

Odpowiedzi:

142

To zadziałało dla mnie:

npm cache clean --force 
ASHISH RANJAN
źródło
7
To nie działało dla mnie na Windows 10 (bez błędów, po prostu nic nie zrobiłem). Musiałem ręcznie usunąć wszystkie foldery w obrębie%appdata%\npm-cache
plasmid87,
Dzięki, działał na moim komputerze z dodaniem
siły
2
npm WARN using --force I sure hope you know what you are doing.Uważaj na użycie siły, mały jedi
Brenno Leal
132

Powinno być

npm cache clean  

Zobacz https://docs.npmjs.com/cli/cache.html

Per Quested Aronsson
źródło
25
Ta odpowiedź mogła być poprawna w czasie, gdy npm był w wersji 1.3.8, jak wspomniano w pytaniu. Jednak w npm 2.8.3 i npm 3.3.0 „wyczyść” jest cichym aliasem dla „czystego”, więc zrobiłoby to samo.
Mark Stosberg,
zasób nie został znaleziony w udostępnionym łączu
Prageeth godage
61

„Od npm @ 5 pamięć podręczna npm samonaprawia się po problemach z uszkodzeniami, a dane wyodrębnione z pamięci podręcznej są prawidłowe. Jeśli chcesz mieć pewność, że wszystko jest spójne, użyj

npm cache verify

zamiast."

RBZ
źródło
19
„pamięć podręczna” i „gwarancja ważności” nie należą do tego samego zdania.
gburton
1
@gburton, to jest dokumentacja npm skopiowana prosto z terminala.
RBZ
17
to chyba wiadomość od NPM jest błędna. Nic nie gwarantuje samoleczenia. Nie żyjemy w krainie magii.
gburton,
@RBZ proszę dołączyć polecenie użyte do wygenerowania tego oświadczenia pomocy.
JosephHarriott
1
@JosephHarriott Możesz wyczyścić pamięć podręczną npm, aby zobaczyć dokładną wiadomość
Neil
21

spróbuj tego npm cache clean --force po tym biegu npm cache verify

AAshish jha
źródło
10

próbuję

npm cache clean 

Ale npm powiedział, że nowsza wersja na npm (> 5) ma mechanizm samoleczenia i wszystko, co muszę zrobić, aby sprawdzić npm, to użyć weryfikacji

npm cache verify

wiadomość npm:

The npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. 

If you want to make sure everything is consistent, use 'npm cache verify' instead.

ale do wymuszenia npm użyj tego:

npm cache clean --force
Masoud Bimar
źródło
9

Spróbuj, npm cache clean --forcejeśli to nie zadziała, a następnie ręcznie usuń folder% appdata% \ npm-cache.

i zainstaluj npm install npm@latest -g

U mnie to zadziałało.

odwiedź ten link

oferta
źródło
6

Spróbuj, npm cache clean --forcejeśli to nie zadziała, a następnie ręcznie usuń %appdata%\npm-cachefolder.

U mnie to zadziałało.

Saurabh Agrawal
źródło
1

Ścieżka środowiska mogła zostać usunięta.

Sprawdź to wpisując,

npm config get prefix

Musi to być lokalizacja, w której znajdują się pliki binarne npm.

W oknach c:/users/username/AppData/Roaming/npmto miejsce, w którym się znajdują.

Dodaj tę lokalizację do zmiennej środowiskowej. Powinno działać dobrze.

(Panel sterowania -> Wyszukaj `` Zmienne środowiskowe '' i kliknij przycisk o tej nazwie -> edytuj ścieżkę -> dodaj powyższą lokalizację)

Maharaj Santhir
źródło
Jest to wysoce nieprawdopodobne, aby był to problem.
Alexis Tyler
0

Rozwiązałem ten problem, uruchamiając cmd jako administrator. wcześniej próbowałem uruchomić w vs code.

uruchom go w Power Shell lub Cmd z uprawnieniami administratora. Mam nadzieję, że to pomoże.

npm install g @angular/cli@latest
Saad Abbasi
źródło
-1

Musiałem zainstalować najnowszą wersję NodeJS. To mi się udało.

Andre Evangelista
źródło