Skip to content

import Update from "/ru/snippets/cli/update.mdx";

NOTE

Для обновления версии Bun CLI см. [`bun upgrade`](/ru/runtime/installation#upgrading).

Для обновления всех зависимостей до последних версий:

sh
bun update

Для обновления конкретной зависимости до последней версии:

sh
bun update [package]

--interactive

Для более контролируемого обновления используйте флаг --interactive для выбора пакетов для обновления:

sh
bun update --interactive
bun update -i

Это запускает интерактивный терминальный интерфейс, который показывает все устаревшие пакеты с их текущими и целевыми версиями. Затем вы можете выбрать, какие пакеты обновить.

Интерактивный интерфейс

Интерфейс отображает пакеты, сгруппированные по типу зависимости:

txt
? 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 для обновления зависимостей во всех рабочих областях монорепозитория:

sh
bun update --interactive --recursive
bun update -i -r

Это отображает дополнительный столбец "Workspace", показывающий, к какой рабочей области принадлежит каждая зависимость.

--latest

По умолчанию bun update обновляет до последней версии зависимости, которая удовлетворяет диапазону версий, указанному в вашем package.json.

Для обновления до последней версии независимо от того, совместима ли она с текущим диапазоном версий, используйте флаг --latest:

sh
bun update --latest

В интерактивном режиме вы можете переключать отдельные пакеты между их целевой версией (учитывая semver) и последней версией с помощью клавиши l.

Например, со следующим package.json:

json
{
  "dependencies": {
    "react": "^17.0.2"
  }
}
  • bun update обновит до версии, соответствующей 17.x.
  • bun update --latest обновит до версии, соответствующей 18.x или более поздней.

Bun от www.bunjs.com.cn