🧱 Суть

Со временем зависимости проекта устаревают.
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

Что происходит:

  1. npm-check-updates обновляет версии в package.json
  2. npm install устанавливает новые зависимости
  3. обновляется 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.json
  • npm-check-updates позволяет перейти на последние версии
  • после крупных обновлений стоит протестировать проект
  • при необходимости можно полностью переустановить зависимости

🔗 Связано