import Bunx from "/ru/snippets/cli/bunx.mdx";
NOTE
`bunx` — это псевдоним для `bun x`. При установке `bun` команда `bunx` будет установлена автоматически.Используйте bunx для автоматической установки и запуска пакетов из npm. Это аналог npx или yarn dlx в Bun.
bunx cowsay "Hello world!"NOTE
⚡️ **Скорость** — Благодаря быстрому времени запуска Bun, `bunx` работает [примерно в 100 раз быстрее](https://twitter.com/jarredsumner/status/1606163655527059458), чем `npx` для локально установленных пакетов.Пакеты могут объявлять исполняемые файлы в поле "bin" своего package.json. Они известны как исполняемые файлы пакетов или бинарные файлы пакетов.
{
// ... другие поля
"name": "my-cli",
"bin": {
"my-cli": "dist/index.js"
}
}Эти исполняемые файлы обычно представляют собой простые JavaScript-файлы с shebang-строкой, указывающей, какая программа должна использоваться для их выполнения. Следующий файл указывает, что он должен выполняться с помощью node.
#!/usr/bin/env node
console.log("Hello world!");Эти исполняемые файлы можно запускать с помощью bunx,
bunx my-cliКак и npx, bunx сначала проверяет наличие локально установленного пакета, а затем переходит к автоматической установке пакета из npm. Установленные пакеты будут сохранены в глобальном кэше Bun для будущего использования.
Аргументы и флаги
Чтобы передать дополнительные флаги и аргументы командной строки исполняемому файлу, разместите их после имени исполняемого файла.
bunx my-cli --foo barShebang-строки
По умолчанию Bun уважает shebang-строки. Если исполняемый файл помечен как #!/usr/bin/env node, Bun запустит процесс node для выполнения файла. Однако в некоторых случаях может быть желательно запускать исполняемые файлы с использованием среды выполнения Bun, даже если исполняемый файл указывает иное. Для этого добавьте флаг --bun.
bunx --bun my-cliФлаг --bun должен находиться перед именем исполняемого файла. Флаги, которые появляются после имени, передаются исполняемому файлу.
bunx --bun my-cli # правильно
bunx my-cli --bun # неправильноФлаг package
--package <pkg> или -p <pkg> — Запуск бинарного файла из конкретного пакета. Полезно, когда имя бинарного файла отличается от имени пакета:
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ngЧтобы всегда использовать bun со скриптом, используйте shebang-строку.
#!/usr/bin/env bun