Błąd instalacji NPM: Nieoczekiwany koniec danych wejściowych JSON podczas analizowania w pobliżu „… nt-webpack-plugin„: ”0”

209

Podczas tworzenia nowego projektu Angular 5:

wersja węzła: 8.9.2

wersja npm: 5.5.1

Moje polecenie jest

npm install -g @angular/cli

błąd jest

npm ERR! **Unexpected end of JSON input while parsing near '...nt-webpack-plugin":"0'**
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Aashitec\AppData\Roaming\npm-cache\_logs\2017-12-06T13_10_10_729Z-debug.log

dziennik błędów to http://www.aashitechno.in/2017-12-06T13_10_10_729Z-debug.log

kathir
źródło
7
„npm cache clean --force” bez cudzysłowów może być odpowiedzią na twoje pytanie.
Bimal
3
@Bimal npm cache clean --forcedziała dla mnie, dzięki!
tonix
Pracował dla mnie, powiedział, że mam nadzieję, że wiem, co robię. Ja nie.
carny666
sudo npm cache clean --force sudo npm cache verify sudo npm i npm@latest -gTe polecenia zadziałały dla mnie
Zohab Ali
pamięć podręczna npm clean --force działa dla mnie dzięki
Praveen Verma

Odpowiedzi:

543

To rozwiązało dla mnie:

Otwórz Windows Powershell jako administrator

npm cache clean --force
npm install -g @angular/cli

https://devblogs.microsoft.com/premier-developer/getting-started-with-node-js-angular-and-visual-studio-code/

mcemia
źródło
9
pracował dla mnie! ale trzeba otworzyć terminal jako administrator
Sérgio S. Filho
@McEmmy: Zrobiłem tak, jak wspomniałeś ... ale nadal pojawia się problemUnexpected token , in JSON at position 366360 while parsing near '... } npm ERR! } npm ERR! }, npm ERR! "webpack-log":...'
Kalanka
@Kalanka, czy chcesz się tym podzielić, jeśli to rozwiązałeś i jak to zrobiłeś?
mcemmy
wielokrotne uruchamianie czyszczenia pamięci podręcznej npm --force i instalacja npm -g @ angular / cli @ latest rozwiązały moje problemy. uruchomienie czyszczenia pamięci podręcznej npm nie pomogło
Przepisy Squapl
2
To działa, ale kiedy uruchomię go w C:\Users\[user-name]\AppData\Roaming\npmgłównym katalogu
Market
102

Rozwiązanie:

npm cache clean --force

a następnie spróbuj ponownie utworzyć aplikację (tutaj podczas tworzenia aplikacji reagowania) lub zainstaluj to, co miałeś zainstalować.

create-react-app myproject

(tworzenie aplikacji reagowania) [ten sam problem npm, który może wystąpić w różnych operacjach]

npm install -g @angular/cli@latest

(instalowanie angli cli (lub instalowanie czegokolwiek innego))

To będzie działać.

wyjaśnienie:

Jest to problem związany z npm, dotyczy uszkodzonej pamięci podręcznej. Mimo że w nowszych wersjach npm wprowadziły one samoleczenie, które normalnie nie gwarantują żadnego zepsucia, ale wydaje się, że nie jest tak wydajne. wprowadź opis zdjęcia tutaj Wymuszenie czystej pamięci podręcznej rozwiązuje problem.

Błąd występuje podczas analizowania jednego z plików pamięci podręcznej, które mają format json. Pamięć podręczna znajduje się w ~ / .npm / _cacache (w systemie Linux) i% AppData% / npm-cache (Windows). Dla mojej obecnej wersji npm i kiedy sprawdziłem, były trzy katalogi.
wprowadź opis zdjęcia tutaj

jeśli zaznaczysz pierwszy lub drugi, struktura będzie następująca wprowadź opis zdjęcia tutaj

I każdy plik pamięci podręcznej ma format json (i to, co jest analizowane) wprowadź opis zdjęcia tutaj

Oto dobry link z dokumentu: https://docs.npmjs.com/cli/cache

[Aktualizacja] Również jeśli zdarzy się, że to nie rozwiązało problemu, możesz sprawdzić tę odpowiedź tutaj https://stackoverflow.com/a/50191315/7668448 to pokazuje, jak możesz zmienić rejestr npm, co może być pomocne. Sprawdź i zobacz.

Mohamed Allal
źródło
Dobrze wyjaśniona odpowiedź, dziękuję bardzo. Zastanawiałem się, dlaczego tak się stało i podejrzewałem, że moje pliki uległy uszkodzeniu z powodu złego połączenia internetowego, które spowodowało uszkodzenie pliku pamięci podręcznej, ponieważ pobieranie nie zostało ukończone. Czy to może być prawda
Charles
1
Tak i niepewny nie. Tak, to był problem w przeszłości. Zgodnie z tym problemem wątek github.com/npm/npm/issues/4652 . Ale oni nad tym pracują. Teraz nie jestem pewien, może to zostało rozwiązane. Wszystko zależy od implementacji i tego, jak npm zarządza wszystkimi krokami od pobierania do buforowania po instalację. Nie mam teraz czasu, aby przejść przez npm wewnętrzny. Ale zastanawiam się nad tym pytaniem i przeprowadzam badania. Napiszę artykuł i zaktualizuję odpowiedź później, gdy będzie gotowa. Wiedz, że mogą mieć inny powód błędu niż uszkodzenie pamięci podręcznej,
Mohamed Allal,
2
patrz docs.npmjs.com/common-errors#invalid-json . W przypadku problemu z rejestracją istnieje verdaccio, które można wypróbować github.com/verdaccio/verdaccio . zalecane zgodnie z tymi wątkami github.com/npm/npm/issues/21181 , github.com/npm/npm/issues/21112 . A tutaj wątek o pamięci podręcznej i sposobie ich przenoszenia github.com/npm/npm/issues/4652 . Kolejny artykuł, który jest teraz historią infoworld.com/article/3198746/javascript/… . Daję Ci znać, kiedy skończę moje badania i napisam artykuł.
Mohamed Allal,
Oto ciekawy wątek: Tutaj ciekawy wątek github.com/yarnpkg/yarn/issues/393
Mohamed Allal
1
Ten problem niepokoił mnie przez pewien czas i wracał ze stałym błędem. Dzięki temu postowi usunąłem dwa foldery i teraz wszystko działa dla mnie poprawnie! Dzięki
Jim Yu
30

Jeśli

npm cache clean --force

nie działa próbować

npm cache clean --force
npm update
MD SHAYON
źródło
1
Ta odpowiedź powinna uzyskać więcej głosów. aktualizacja jest ważnym krokiem, a ja zmarnowałem prawie 3 godziny, ponieważ nie mogłem znaleźć tej odpowiedzi
Vaibhav Gautam
1
Począwszy od maja 2020, jest to jedyne rozwiązanie, które faktycznie działa doskonale jako przeznaczone do błędu workflow
Akhil
1
Bez wątpienia jest to naprawdę idealna odpowiedź. Jedyne rozwiązanie zadziałało dla mnie.
Pan Noddy
1
+1 ode mnie też, zadziałało świetnie i rzeczywiście jedyne rozwiązanie, które działało po stracie dni próbowania naprawienia wszystkiego innego ...
nickast
1
Działa dla mnie od czerwca 2020 r. Proszę
głosować na
14

Npm używa Cache do pobierania nowych pakietów. Musisz wyczyścić pamięć podręczną npm. użyj następującego polecenia, aby wyczyścić:

npm cache clean --force

wtedy normalnie użyj polecenia npm install, np

npm install -g @angular/cli
Amit Gaikwad
źródło
10

usuń foldery npm i npm-cache w C: \ Users \ admin \ AppData \ Roaming \ (windows), a następnie uruchom cmd

czyszczenie pamięci podręcznej npm --force

weryfikacja pamięci podręcznej npm

zaktualizuj npm do najnowszej wersji

npm i -g npm

następnie stwórz projekt 1) Angular

npm i -g @ angular / cli @ latest

nowego HelloWorld

2) Reaguj

npm i -g create-reag-app

Utwórz aplikację reaguj reaguj

Ravinder Reddy Kottabad
źródło
9

Rozwiązuję to za pomocą

npm cache clean --force

następnie zaktualizuj npm

npm i npm@latest -g

następnie normalnie użyj polecenia npm install

npm install 
Hasibul-
źródło
6

Korzystam z systemu Windows i usunąłem wszystkie pliki wymienione poniżej, a mój problem został rozwiązany C: \ Users {{twoja-nazwa użytkownika}} \ AppData \ Roaming \ npm-cache

milad karimi
źródło
6

to rozwiązało npm cache clean --force

Strata krwi
źródło
5

Proste rozwiązania:

npm cache clean --force
npm install 
Shashwat Gupta
źródło
5

npm cache clean --force pracował dla mnie

Rozwiązany błąd:

$ npm install -g gulp npm OSTRZEŻENIE przestarzałe [email protected]: gulp-util jest przestarzałe - zamień go, postępując zgodnie ze wskazówkami na https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm ERR! Nieoczekiwany koniec danych wejściowych JSON podczas analizowania w pobliżu „... / RGs88STtAtiMP3tCiNdU”

npm ERR! Pełny dziennik tego uruchomienia można znaleźć w: npm ERR! C: \ Users \ admin \ AppData \ Roaming \ npm-cache_logs \ 2018-11-20T07_38_56_733Z-debug.log

użytkownik10680309
źródło
3

Komenda ta sama rozwiązać mój problem:

npm cache clean --force

Ponadto powinieneś upewnić się, że używasz poprawnej wersji węzła.

Za pomocą nvm do zarządzania wersją węzła:

nvm list; # check your local versions;
nvm install 10.10.0; # install a new remote version;
nvm alias default 10.10.0; # set the 10.10.0 as the default node version, but you have to restart the terminal to make it take effect;
Hearen
źródło
3

Rozwiązanie

npm cache clean --force

W systemie Windows: przejdź do C:\Users\username\AppData\Roaming\npm-cache
Usuń wszystkie pliki i uruchom

npm install && npm start
mahendra
źródło
3

Rozwiązałem to, używając najpierw czyszczenia pamięci podręcznej

npm cache clean --force

Następnie

npm install -g @angular/cli
Desire Kaleba
źródło
2

To błąd z twojego npm ....

Więc odinstaluj węzeł i zainstaluj go ponownie.

To działa....

PS: Po ponownym zainstalowaniu węzła zainstaluj kątowo cli globalnie.

npm install -g @angular/cli@latest
raghu rkm
źródło
2

Rozwiązałem swój problem z tą jedną wkładką

npm cache clean --force

Cały czas działa jak urok. Uwielbiam jeden liner. Uwaga: ponieważ jest to czysta instalacja, nie miałem obaw o opróżnianie pamięci podręcznej npm.

pasignature
źródło
2

BŁĄD: npm ERR! Nieoczekiwany koniec danych wejściowych JSON podczas analizowania w pobliżu „... ore-js”: „3.0.0-beta.1

Dzieje się tak, gdy globalnie instaluję CLI expo. Działa to dla mnie!

npm cache clean --force
Lahiru Amarathunge
źródło
2

Wystąpił błąd ( file already exists --force to overwrite) po uruchomieniu następującego kodu:

npm cache clean --force
npm install -g @angular/cli

Rozwiązałem to za pomocą:

npm i -g --force npm

Upewnij się, że uruchomiłeś pierwsze polecenia, aby opróżnić pamięć podręczną npm.

Rijo
źródło
1

Rozwiązuję to za pomocą

Najpierw usuń pakiet-lock.json

npm cache clean --force

następnie zaktualizuj npm

npm i npm@latest -g

następnie użyj polecenia npm install

npm install 
Muhammad Tahir
źródło
1

Możesz użyć menedżera pakietów przędzy zamiast npm.

Rozwiązało to dla mnie ten problem

Vahid Khakestani
źródło
1

Mój przypadek - Windows 7 (nie miał nic lepszego w danym momencie). Pomógł mi:

  1. Usuwanie wszystkiego z C: \ Users \ nazwa użytkownika \ AppData \ Roaming \ npm-cache

I

  1. Usuwanie package-lock.json
ysvet
źródło
0

Zamiast wyczyścić pamięć podręczną możesz ustawić folder tymczasowy:

npm install --cache /tmp/empty-cache

lub

npm install --global --cache /tmp/empty-cache

Począwszy od npm @ 5, pamięć podręczna npm leczy się z problemów z uszkodzeniem, a dane wyodrębnione z pamięci podręcznej są gwarantowane. Jeśli chcesz się upewnić, że wszystko jest spójne, użyj npm cache verifyzamiast tego. Z drugiej strony, jeśli debugujesz problem z instalatorem, możesz npm install --cache /tmp/empty-cacheużyć tymczasowej pamięci podręcznej zamiast nukania rzeczywistej pamięci podręcznej.

Gianfranco P.
źródło
0

Dla mnie musiałem ponownie sklonować gałąź i zrobić tonpm install

mtchuente
źródło
0

Napotkałem ten problem i wypróbowałem wszystkie odpowiedzi na Stackoverflow, ale nie zadziałało, w końcu znalazłem rozwiązanie tego problemu:

  • Przede wszystkim musisz odinstalować nodejs i usunąć wszystkie powiązane z nim pliki
  • Przejdź do „Register Editor” i wyszukaj wszystkie „nodejs”, „node.js” i usuń je
  • Zrestartuj swój komputer
  • Ponownie zainstaluj nodejs, a następnie zainstaluj kątowy.

To zadziałało dla mnie

Mohamad Alhamid
źródło
0

Jeśli npm cache clean --forceto nie rozwiąże problemu, spróbuj usunąć ~/.npmkatalog (* nix / macOS). Jest to katalog, w którym węzeł przechowuje swoją pamięć podręczną, blokady, dzienniki, pakiety globalne (chyba że używasz NVM ) oraz moduły instalowane przez npx.

Najpierw wykonaj kopię zapasową bieżącego ~./npmkatalogu:

mv ~/.npm ~/.npm-backup

Teraz spróbuj ponownie uruchomić polecenie npm. Spowoduje to utworzenie nowego ~/.npmkatalogu. Jeśli problem zostanie rozwiązany, możesz bezpiecznie usunąć kopię zapasową. Zanim to zrobisz, możesz przejrzeć pakiety globalne zainstalowane w ~/.npm-backupkatalogu, aby móc je ponownie zainstalować za pomocą npm i -g [package].

rm -rf ~/.npm-backup

Jeśli problem nie zostanie rozwiązany, możesz przywrócić kopię zapasową:

rm -rf ~/.npm
mv ~/.npm-backup ~/.npm

Ostrożnie z tymi rmpoleceniami, ludzie!

jhildenbiddle
źródło
0

Te polecenia działały dla mnie

sudo npm cache clean --force

sudo npm cache verify

sudo npm i npm@latest -g
Zohab Ali
źródło
-2

Po tym npm cache clean --force

możesz się rozłączyć lub czekać na dalsze wykonanie

npm WARN using --force Mam nadzieję, że wiesz, co robisz.

Możesz więc również użyć tego. To rozwiązuje mój problem.

npm install --cache / tmp / empty-cache

Balwant Singh
źródło