🧱 Суть
Со временем зависимости проекта устаревают.
npm предоставляет несколько способов:
- проверить доступные обновления;
- обновить пакеты в рамках текущих ограничений;
- обновить до самых последних версий;
- полностью переустановить зависимости.
📦 Проблема
В package.json версии могут выглядеть так:
{
"dependencies": {
"react": "^19.0.0"
}
}Со временем появляются новые версии:
Current → установленная
Wanted → последняя,
совместимая с package.json
Latest → самая новая версияНе каждое обновление устанавливается автоматически.
✅ Решение
Использовать подходящую команду в зависимости от задачи.
💻 Код
Проверить доступные обновления
npm outdatedРезультат:
- Current – текущая установленная версия
- Wanted – последняя версия, подходящая под диапазон в
package.json - Latest – самая новая доступная версия
Обновить зависимости
Обновить пакеты в рамках ограничений package.json:
npm updateБудут установлены только версии, удовлетворяющие диапазонам (^, ~ и др.).
Обновить до последних версий
Если нужно обновить все версии в package.json независимо от текущих ограничений:
npx npm-check-updates -u
npm installЧто происходит:
npm-check-updatesобновляет версии вpackage.jsonnpm installустанавливает новые зависимости- обновляется
package-lock.json
Полная переустановка
Если после обновления возникли проблемы, можно пересобрать зависимости:
rm -rf node_modules package-lock.json
npm installБудут:
- удалены старые зависимости
- создан новый
package-lock.json - установлены актуальные версии согласно
package.json
Когда использовать
Используй:
npm updateесли нужно безопасное обновление без изменения диапазонов.
Используй:
npx npm-check-updates -uесли готов перейти на новые major-версии и протестировать проект.
После крупных обновлений рекомендуется выполнить:
npm run test
npm run buildчтобы убедиться, что ничего не сломалось.
🎯 Вывод
npm outdatedпоказывает доступные обновленияnpm updateобновляет зависимости в рамкахpackage.jsonnpm-check-updatesпозволяет перейти на последние версии- после крупных обновлений стоит протестировать проект
- при необходимости можно полностью переустановить зависимости