TLDR: (mag ohne die Erklärung kontraintuitiv erscheinen)
npm install caniuse-lite browserslist
npm uninstall caniuse-lite browserslist
Erläuterung:
Diese Warnmeldung ("canisuse-lite ist veraltet, bitte ...") wird beim Erstellen / Starten von Skripten in der Browserliste ausgegeben, wenn festgestellt wird, dass die installierte Version von caniuse-lite älter als 2 Versionen der aktuellen Version ist. Wenn sich an Ihrem Projekt nichts geändert hat und Sie diese Meldung beim Starten oder Erstellen Ihres Projekts plötzlich sehen, bedeutet dies wahrscheinlich, dass ein aktuelles Versionsupdate für caniuse-lite vorliegt.
Leider ist die in der Browserliste angezeigte Textnachricht nur hilfreich, wenn Sie caniuse-lite als Abhängigkeit von Ihrem Projekt installiert haben. Höchstwahrscheinlich haben Sie nicht. Wenn Sie also das vorgeschlagene 'npm-Update caniuse-lite' oder 'npm-Update' caniuse-lite @ latest '(oder' npm install ') ausführen, sieht npm das in Ihren package.json-Abhängigkeiten aufgeführte Paket nicht und ignoriert es daher die Anfrage.
Wie wurden diese Pakete dann zu Abhängigkeiten? Als Ihr Projekt erstellt wurde (möglicherweise mit App AngularApp oder Create-React-App oder ähnlichem für Ihr Framework), installierte npm die Browserliste als Abhängigkeit von den benötigten Tools und nicht als eine der Abhängigkeiten Ihres Projekts. Gleichzeitig wurde caniuse-lite als Abhängigkeit von der Browserliste installiert. Später, als das Projekt aktualisiert wurde, wurde eine package-lock.json-Datei erstellt, die alle Abhängigkeiten von einer bestimmten Version sperrt.
Wenn Sie die Versionsinformationen in der Liste der Abhängigkeiten in package-lock.json aktualisieren könnten, würde das Ausführen von 'npm install' diese Pakete in node_modules aktualisieren. Sie sollten package-lock.json nicht manuell bearbeiten. Stattdessen ist der beste Weg, dies zu tun:
Machen Sie diese Pakete vorübergehend zu einer Abhängigkeit Ihres Projekts:
npm install caniuse-lite browserslist
Zusätzlich zum Aktualisieren des Pakets auf die neueste Version wird die Abhängigkeitsliste sowohl in package.json als auch (am wichtigsten) package-lock.json aktualisiert.
Entfernen Sie diese Pakete als direkte Abhängigkeiten Ihres Projekts:
npm deinstallieren caniuse-lite browserlist
Da diese Pakete von anderen Abhängigkeiten verwendet werden, werden sie nicht aus node_modules entfernt. Nur package.json wird aktualisiert, um sie als Projektabhängigkeit zu entfernen.
Übernehmen Sie package-lock.json. Jeder andere kann jetzt einfach 'npm install' ausführen, um die aktualisierten zwei Pakete aus der Liste der Unterabhängigkeiten in package-lock.json abzurufen und die Warnmeldung zu stoppen.
npm update caniuse-lite browserslist
?