Niedawno zacząłem uzyskiwać ten błąd w projekcie Angular 8 (węzeł 10.10.0), nad którym pracuję. Uruchomienie aktualizacji npm caniuse-lite browserslist nic nie dało
Więc usunąłem pakiet-lock.json, usunąłem node_modules i uruchomiłem npm install, ale plik listy przeglądarki zniknął. Ponownie po uruchomieniu kompilacji pojawia się ten sam komunikat: Lista przeglądarek: caniuse-lite jest nieaktualny. Uruchom następne polecenienpm update
Widzę ten post na ten sam temat : Lista przeglądarek: caniuse-lite jest nieaktualny. Uruchom następną komendę `npm update caniuse-lite browserslist` Mówi jednak o WebCompiler i autoprefixerze i nie mam o nich pojęcia. Proszę poprowadź
angular
npm-install
SilverFish
źródło
źródło
npm update caniuse-lite browserslist
?npm update
ale to nie rozwiązało problemu, po prostuOdpowiedzi:
Rozwiązany przestarzały problem caniuse-lite uruchomiono poniżej poleceń.
źródło
npm cache clean
nie działa bezpośrednio, ponieważ jest obsługiwane automatycznie przez npm w najnowszych wersjach. Chcesz, żebyśmy użyli--force
? Jeśli tak, proszę wyjaśnić, dlaczego powinniśmy nucować pamięć podręczną.npm install caniuse-lite@latest --save
TLDR: (może wydawać się sprzeczne z intuicją bez wyjaśnienia)
Wyjaśnienie:
To ostrzeżenie msg („canisuse-lite jest nieaktualne, proszę ....”) jest wysyłane przez skrypty na liście przeglądarek podczas kompilacji / uruchamiania, jeśli stwierdzi, że zainstalowana wersja caniuse-lite jest starsza niż 2 wersje z bieżącej wersji. Jeśli nic w twoim projekcie się nie zmieniło i nagle zobaczysz ten komunikat podczas uruchamiania lub budowania projektu, prawdopodobnie oznacza to, że była ostatnia aktualizacja wersji caniuse-lite.
Niestety, wiadomość tekstowa wyświetlana na liście przeglądarek jest pomocna tylko wtedy, gdy zainstalowałeś caniuse-lite jako zależność twojego projektu. Najprawdopodobniej nie. Więc kiedy uruchomisz sugerowaną wersję „npm update caniuse-lite” lub „npm update” caniuse-lite @ latest ”(lub„ npm install ”), npm nie widzi tego pakietu na liście zależności w pakiecie.json, więc ignoruje prośba.
W jaki sposób te pakiety stały się zależnościami? Kiedy Twój projekt został utworzony (być może z aplikacją angularapp lub create-React-app lub podobną dla twojego frameworka), npm zainstalowała listę przeglądarek jako zależność od potrzebnych narzędzi, a nie jako zależność twojego projektu. W tym samym czasie caniuse-lite został zainstalowany jako zależność listy przeglądarek. Później, kiedy projekt został zaktualizowany, utworzono plik package-lock.json, który blokuje wszystkie zależności do określonej wersji.
Jeśli byłbyś w stanie zaktualizować informacje o wersji na liście zależności w package-lock.json, to uruchomienie „npm install” zaktualizowałoby te pakiety w module node_modules. Nie należy ręcznie edytować pliku package-lock.json. Zamiast tego najlepszym sposobem na to jest:
Tymczasowo uczyń te pakiety zależnymi od twojego projektu:
npm zainstaluj caniuse-lite browserslist
Oprócz aktualizacji pakietu do najnowszej wersji, aktualizuje to listę zależności zarówno w pliku package.json, jak i (co najważniejsze) pakiet-lock.json.
Usuń te pakiety jako bezpośrednie zależności projektu:
odinstaluj npm caniuse-lite browserslist
Ponieważ te pakiety są używane przez inne zależności, nie są usuwane z modułów node_modules. Aktualizowany jest tylko pakiet.json, aby usunąć je jako zależność projektu.
Zatwierdź pakiet-lock.json. Każdy inny użytkownik może teraz uruchomić „npm install”, aby pobrać zaktualizowane dwa pakiety z listy zależności zależnych w pliku package-lock.json i zatrzymać komunikat ostrzegawczy.
źródło
npm update
) i przy czystej konfiguracji kątowej.caniuse-lite
a wiadomość zniknęła