import Update from "/ru/snippets/cli/update.mdx";
NOTE
Для обновления версии Bun CLI см. [`bun upgrade`](/ru/runtime/installation#upgrading).Для обновления всех зависимостей до последних версий:
bun updateДля обновления конкретной зависимости до последней версии:
bun update [package]--interactive
Для более контролируемого обновления используйте флаг --interactive для выбора пакетов для обновления:
bun update --interactive
bun update -iЭто запускает интерактивный терминальный интерфейс, который показывает все устаревшие пакеты с их текущими и целевыми версиями. Затем вы можете выбрать, какие пакеты обновить.
Интерактивный интерфейс
Интерфейс отображает пакеты, сгруппированные по типу зависимости:
? Select packages to update - Space to toggle, Enter to confirm, a to select all, n to select none, i to invert, l to toggle latest
dependencies Current Target Latest
□ react 17.0.2 18.2.0 18.3.1
□ lodash 4.17.20 4.17.21 4.17.21
devDependencies Current Target Latest
□ typescript 4.8.0 5.0.0 5.3.3
□ @types/node 16.11.7 18.0.0 20.11.5
optionalDependencies Current Target Latest
□ some-optional-package 1.0.0 1.1.0 1.2.0Разделы:
- Пакеты сгруппированы под заголовками разделов:
dependencies,devDependencies,peerDependencies,optionalDependencies - Каждый раздел показывает заголовки столбцов, выровненные с данными пакета
Столбцы:
- Package — Имя пакета (может иметь суффикс, такой как
dev,peer,optionalдля ясности) - Current — Текущая установленная версия
- Target — Версия, которая будет установлена (учитывает ограничения semver)
- Latest — Последняя доступная версия
Управление клавиатурой
Выбор:
- Space — Переключить выбор пакета
- Enter — Подтвердить выбор и обновить
- a/A — Выбрать все пакеты
- n/N — Снять выбор со всех
- i/I — Инвертировать выбор
Навигация:
- ↑/↓ Arrow keys или j/k — Переместить курсор
- l/L — Переключить между целевой и последней версией для текущего пакета
Выход:
- Ctrl+C или Ctrl+D — Отменить без обновления
Визуальные индикаторы
- ☑ — Выбранные пакеты (будут обновлены)
- □ — Невыбранные пакеты
- > — Текущая позиция курсора
- Цвета — Красный (major), желтый (minor), зеленый (patch) изменения версий
- Подчеркнутый — Текущая выбранная цель обновления
Группировка пакетов
Пакеты организованы в разделах по типу зависимости:
- dependencies — Обычные runtime-зависимости
- devDependencies — Dev-зависимости
- peerDependencies — Peer-зависимости
- optionalDependencies — Опциональные зависимости
В каждом разделе отдельные пакеты могут иметь дополнительные суффиксы ( dev, peer, optional) для дополнительной ясности.
--recursive
Используйте флаг --recursive с --interactive для обновления зависимостей во всех рабочих областях монорепозитория:
bun update --interactive --recursive
bun update -i -rЭто отображает дополнительный столбец "Workspace", показывающий, к какой рабочей области принадлежит каждая зависимость.
--latest
По умолчанию bun update обновляет до последней версии зависимости, которая удовлетворяет диапазону версий, указанному в вашем package.json.
Для обновления до последней версии независимо от того, совместима ли она с текущим диапазоном версий, используйте флаг --latest:
bun update --latestВ интерактивном режиме вы можете переключать отдельные пакеты между их целевой версией (учитывая semver) и последней версией с помощью клавиши l.
Например, со следующим package.json:
{
"dependencies": {
"react": "^17.0.2"
}
}bun updateобновит до версии, соответствующей17.x.bun update --latestобновит до версии, соответствующей18.xили более поздней.