Использование Bun в качестве менеджера пакетов в PHP проектах
Bun — это быстрый набор инструментов JavaScript все в одном
. Его можно использовать как среду выполнения (он гораздо быстрее, чем Node.js), как программу для запуска тестов и даже как менеджер пакетов. Именно это интересует нас как PHP-разработчиков.
Зачем переходить с NPM, pnpm или Yarn
Большинство PHP-разработчиков не используют Node.js ни для чего, кроме компиляции фронтенд ресурсов. Так зачем тратить время на переход на Bun вместо того, чтобы использовать обычную среду исполнения Node.js?
Если вы действительно протестируете Bun, то заметите, насколько он невероятно быстрее Node.js. До 30 раз!
- Ваши front-end зависимости будут устанавливаться быстрее.
- Ваши ресурсы будут компилироваться быстрее.
- Ваша среда непрерывной интеграции также будет работать быстрее, поскольку установка и компиляция front-end зависимостей занимает меньше времени.
Как установить Bun на macOS с помощью Homebrew
Установка Bun на macOS не может быть проще. Просто подключите источник oven-sh/bun
с помощью команды brew tap oven-sh/bun
и установите Bun, выполнив команду brew install bun
.
Как установить в Linux и WSL
Установка Bun в Linux так же проста, как и в macOS. Выполните команду curl -fsSL https://bun.sh/install | bash
. Вот и все!
Пользователям Linux рекомендуется сначала убедиться в том, что установлен пакет unzip
. Также необходимо установить ядро не ниже версии 5.1, хотя лучше использовать версию 5.6 или выше.
Как установить Bun под Windows
Пока, к сожалению, возможности менеджера пакетов Bun недоступны для Windows. Но это не должно быть проблемой, если вы используете WSL.
В настоящее время существует экспериментальная версия для Windows, но использовать её в продакшне не рекомендуется.
Освободите место для Bun и удалите package-lock.json
, pnpm-lock.yaml
или yarn.lock
Менеджер пакетов, который вы используете в своих PHP-проектах, полностью зависит от ваших предпочтений. Что является отличной новостью для Bun!
Если вы использовали NPM или pnpm, удалите их lock-файлы, поскольку они вам больше не понадобятся, так как Bun по умолчанию использует свой собственный lock-файл bun.lockb
.
Если бы вы использовали NPM:
rm package-lock.json
Если вы использовали pnpm:
rm pnpm-lock.yaml
А если бы вы использовали Yarn:
rm yarn.lock
Установка зависимостей front-end с помощью Bun
Для установки зависимостей с помощью Bun используйте команду bun install
. Итак, насколько быстро это происходит? Держу пари, вы этого не ожидали!
Кстати, в случае возникновения проблем, если вы хотите отключить кэш, используйте bun install --no-cache
.
Для получения дополнительной информации и опций обратитесь к официальной документации команды bun install
.
Добавление пакета с помощью Bun
Добавление пакета с помощью Bun можно легко выполнить с помощью команды bun add
. Вы, несомненно, оцените, насколько это быстро.
Приведём пример с 3 пакетами:
bun add tailwindcss autoprefixer postcss
Дополнительную информацию и опции можно найти в официальной документации к команде bun add
.
Удаление пакета с помощью Bun
Удаление пакета с помощью Bun можно легко выполнить с помощью команды bun remove
. Вы наверняка оцените, насколько это быстро.
В качестве примера возьмём Axios, поскольку собственный Fetch API JavaScript не менее прост в использовании:
bun remove axios
Дополнительную информацию и опции можно найти в официальной документации к команде bun remove
.
Запуск скриптов с помощью Bun
Bun интегрируется в существующий рабочий процесс без каких-либо проблем. Запустите скрипты, определённые в файле package.json
, как и раньше, используя bun run
.
Например, у вас в PHP-процессе может быть процесс компиляции front-end ресурсов:
bun run dev
Дополнительную информацию и опции можно найти в официальной документации к команде bun run
.