TLDR:(説明がないと直観に反するように見えるかもしれません)
npm install caniuse-lite browserslist
npm uninstall caniuse-lite browserslist
説明:
インストールされているcaniuse-liteのバージョンが現在のバージョンの2バージョンより古いことが判明した場合、この警告メッセージ(「canisuse-liteは古くなっております...」)は、ビルド/起動時にbrowserslistのスクリプトによって出力されます。プロジェクトの何も変更されておらず、プロジェクトの開始時またはビルド時に突然このメッセージが表示される場合は、おそらくcaniuse-liteの最新バージョンの更新があったことを意味します。
残念ながら、browserslistが表示するテキストmsgは、プロジェクトの依存関係としてcaniuse-liteをインストールした場合にのみ役立ちます。ほとんどの場合、あなたはしませんでした。したがって、提案された 'npm update caniuse-lite'または 'npm update' caniuse-lite @ latest '(または' npm install ')を実行すると、npmはpackage.json依存関係にリストされているそのパッケージを認識しないため、無視されますリクエスト。
これらのパッケージはどのようにして依存関係になりましたか?プロジェクトが作成されたとき(おそらくアプリのangularappまたはcreate-react-appまたはフレームワークに類似したもので)、npmはbrowserslistをプロジェクトの依存関係の1つとしてではなく、必要なツールの依存関係としてインストールしました。同時に、caniuse-liteはbrowserslistの依存関係としてインストールされました。後でプロジェクトが更新されたときに、すべての依存関係を特定のバージョンにロックするpackage-lock.jsonファイルが作成されました。
package-lock.jsonの依存関係のリストにあるバージョン情報を更新できた場合、「npm install」を実行すると、node_modulesのこれらのパッケージが更新されます。package-lock.jsonを手動で編集しないでください。代わりに、それを行う最善の方法は次のとおりです。
これらのパッケージを一時的にプロジェクトの依存関係にします。
npm install caniuse-lite browserslist
これにより、パッケージが最新バージョンに更新されるだけでなく、package.jsonと(最も重要なのは)package-lock.jsonの両方の依存関係リストが更新されます。
これらのパッケージをプロジェクトの直接の依存関係として削除します。
npmアンインストールcaniuse-lite browserslist
これらのパッケージは他の依存関係によって使用されるため、node_modulesから削除されません。package.jsonのみが更新され、プロジェクトの依存関係として削除されます。
package-lock.jsonをコミットします。他の誰もが 'npm install'を実行して、package-lock.jsonのサブ依存関係のリストから更新された2つのパッケージを取得し、警告メッセージを停止することができます。
npm update caniuse-lite browserslist
か?