TLDR: (может показаться нелогичным без объяснения причин)
npm install caniuse-lite browserslist
npm uninstall caniuse-lite browserslist
Объяснение:
Это предупреждение msg («canisuse-lite устарел, пожалуйста ....») выводится скриптами в список браузеров во время сборки / запуска, если обнаруживает, что установленная версия caniuse-lite старше 2 версий из текущей версии. Если в вашем проекте ничего не изменилось и вы неожиданно видите это сообщение при запуске или создании проекта, это, вероятно, означает, что недавно было обновлено обновление до caniuse-lite.
К сожалению, текстовое сообщение, которое отображает список браузеров, полезно, только если вы установили caniuse-lite как зависимость вашего проекта. Скорее всего, вы этого не сделали. Поэтому, когда вы запускаете предложенное npm update caniuse-lite или npm update caniuse-lite @ latest (или npm install), npm не видит этот пакет, указанный в ваших зависимостях package.json, поэтому он игнорирует запрос.
Как эти пакеты стали зависимостями? Когда ваш проект был создан (возможно, с помощью приложения angularapp или create-Reaction-app или аналогичного для вашей платформы), npm установил список браузеров как зависимость от необходимых инструментов, а не как одну из зависимостей вашего проекта. В то же время caniuse-lite был установлен как список браузеров. Позже, когда проект был обновлен, был создан файл package-lock.json, который блокирует все зависимости для конкретной версии.
Если вы смогли обновить информацию о версии в списке зависимостей в package-lock.json, то запуск npm install приведет к обновлению этих пакетов в node_modules. Вы не должны редактировать package-lock.json вручную. Вместо этого лучший способ сделать это:
Временно сделайте эти пакеты зависимыми от вашего проекта:
npm установить список браузеров caniuse-lite
В дополнение к обновлению пакета до последней версии это обновляет список зависимостей в package.json и (что наиболее важно) package-lock.json.
Удалите эти пакеты как прямые зависимости вашего проекта:
npm удалить список браузеров caniuse-lite
Поскольку эти пакеты используются другими зависимостями, они не удаляются из node_modules. Только package.json обновляется, чтобы удалить их как зависимость проекта.
Зафиксируйте package-lock.json. Любой другой может теперь просто запустить 'npm install', чтобы получить обновленные два пакета из списка подчиненных зависимостей в package-lock.json и остановить сообщение с предупреждением.
npm update caniuse-lite browserslist
?