Что такое Bun?
Bun — это быстрый универсальный JavaScript Runtime, созданный с нуля для современной экосистемы JavaScript. Он разработан как прямая замена Node.js со значительно лучшей производительностью, со встроенными бандлером, тест-раннером и менеджером пакетов — всё в одном исполняемом файле.
🔥 Ключевые возможности Bun
⚡ Исключительно быстрый
До 4 раз быстрее Node.js для многих рабочих нагрузок, с оптимизированным движком JavaScript и нативной компиляцией кода.
📦 Встроенный менеджер пакетов
Устанавливайте пакеты до 25 раз быстрее, чем npm, с встроенным управлением пакетами и поддержкой файлов блокировки.
🛠️ Встроенный бандлер
Нативный бандлер с tree-shaking, разделением кода и горячей перезагрузкой — webpack и rollup не нужны.
🧪 Тест-раннер
Встроенный тест-раннер, совместимый с Jest API, с параллельным выполнением и режимом наблюдения.
🔄 Совместимость с Node.js
Прямая замена Node.js с отличной совместимостью для npm-пакетов и существующих API.
📝 Нативный TypeScript
Запускайте файлы TypeScript напрямую без шага компиляции, со встроенной транспиляцией.
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh и Zed; Bun среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
📋 Доступные пакеты Bun
deb.griffo.io предоставляет три различных пакета Bun для разных нужд:
Метапакет, который автоматически устанавливает последний стабильный bun-one. Это рекомендуемый вариант для большинства пользователей — он гарантирует получение последней стабильной версии.
sudo apt install bunapt install bunПоследняя стабильная версия Bun Runtime. Этот пакет содержит готовую к продуктиву версию с оптимизациями для производительности и стабильности.
sudo apt install bun-oneapt install bun-oneСборка с включённым профилированием Bun с отладочными символами и возможностями профилирования. Идеально для разработки, отладки и анализа производительности. Немного больший бинарный файл с дополнительной отладочной информацией.
sudo apt install bun-profileapt install bun-profile🔄 Управление несколькими версиями Bun
Можно установить как bun-one, так и bun-profile одновременно и переключаться между ними с помощью системы update-alternatives Debian:
Установить обе версии:
sudo apt install bun-one bun-profileapt install bun-one bun-profileНастроить альтернативы (выполняется автоматически при установке пакета):
sudo update-alternatives --install /usr/bin/bun bun /usr/bin/bun-one 100
sudo update-alternatives --install /usr/bin/bun bun /usr/bin/bun-profile 90update-alternatives --install /usr/bin/bun bun /usr/bin/bun-one 100
update-alternatives --install /usr/bin/bun bun /usr/bin/bun-profile 90Переключаться между версиями интерактивно:
sudo update-alternatives --config bunupdate-alternatives --config bunПроверить текущую версию:
bun --version
which bunШаг 2: Установить Bun
sudo apt install bunapt install bunШаг 3: Проверить установку
bun --version
bun --help🚀 Примеры быстрого старта
Создать новый проект:
mkdir my-bun-app && cd my-bun-app
bun initУстановить пакеты (быстрее чем npm):
bun install express
bun add -d @types/expressЗапустить TypeScript напрямую:
echo 'console.log("Hello from Bun!")' > app.ts
bun run app.tsСобрать для продуктива:
bun build ./app.ts --outdir ./dist --minifyЗапустить тесты:
bun test🔧 Конфигурация
Bun можно настроить с помощью файла bunfig.toml в корне вашего проекта или домашнем каталоге:
# bunfig.toml
[install]
# Настроить поведение менеджера пакетов
cache = "~/.bun/install/cache"
registry = "https://registry.npmjs.org"
[run]
# Настроить исполнитель скриптов
shell = "bash"
[test]
# Настроить тест-раннер
preload = ["./setup.ts"]⚡ Преимущества производительности
📦 Установка пакетов
До 25 раз быстрее npm, в 4 раза быстрее pnpm для установки зависимостей.
🏃 Производительность выполнения
В 4 раза быстрее Node.js для многих JavaScript-нагрузок с оптимизированным движком.
🛠️ Скорость бандлинга
Нативный бандлер значительно быстрее webpack, rollup или esbuild.
🧪 Выполнение тестов
Параллельное выполнение тестов со встроенным раннером — быстрее Jest или Vitest.
📦 Репозиторий сборки пакетов
Пакеты для Ubuntu собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🥟 bun-debian - Сборки последних выпусков
🔗 Связанные пакеты
Дополните рабочий процесс разработки этими инструментами от deb.griffo.io:
- Язык программирования Zig - Системный язык программирования
- Python менеджер uv - Быстрый менеджер пакетов Python
- Терминал Ghostty - Быстрый эмулятор терминала
- lazygit - Терминальный интерфейс для git