import Add from "/ru/snippets/cli/add.mdx";
Для добавления конкретного пакета:
bun add preactДля указания версии, диапазона версий или тега:
bun add zod@3.20.0
bun add zod@^3.0.0
bun add zod@latest--dev
NOTE
**Псевдоним** — `--development`, `-d`, `-D`Для добавления пакета как dev-зависимости ("devDependencies"):
bun add --dev @types/react
bun add -d @types/react--optional
Для добавления пакета как опциональной зависимости ("optionalDependencies"):
bun add --optional lodash--peer
Для добавления пакета как peer-зависимости ("peerDependencies"):
bun add --peer @types/bun--exact
NOTE
**Псевдоним** — `-E`Для добавления пакета и закрепления разрешенной версии используйте --exact. Это разрешит версию пакета и добавит ее в ваш package.json с точным номером версии вместо диапазона версий.
bun add react --exact
bun add react -EЭто добавит следующее в ваш package.json:
{
"dependencies": {
// без --exact
"react": "^18.2.0", // это соответствует >= 18.2.0 < 19.0.0
// с --exact
"react": "18.2.0" // это соответствует только 18.2.0 точно
}
}Для просмотра полного списка опций для этой команды:
bun add --help--global
NOTE
**Примечание** — Это не будет изменять package.json вашей текущей папки проекта. **Псевдоним** - `bun add --global`, `bun add -g`, `bun install --global` и `bun install -g`Для глобальной установки пакета используйте флаг -g/--global. Это не изменит package.json вашего текущего проекта. Обычно это используется для установки инструментов командной строки.
bun add --global cowsay # или `bun add -g cowsay`
cowsay "Bun!" ______
< Bun! >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||Настройка поведения глобальной установки
[install]
# где `bun add --global` устанавливает пакеты
globalDir = "~/.bun/install/global"
# куда связываются бинарные файлы глобально установленных пакетов
globalBinDir = "~/.bun/bin"Доверенные зависимости
В отличие от других клиентов npm, Bun не выполняет произвольные скрипты жизненного цикла для установленных зависимостей, такие как postinstall. Эти скрипты представляют потенциальный риск для безопасности, так как могут выполнять произвольный код на вашей машине.
Чтобы разрешить Bun выполнять скрипты жизненного цикла для конкретного пакета, добавьте пакет в trustedDependencies в вашем package.json.
{
"name": "my-app",
"version": "1.0.0",
"trustedDependencies": ["my-trusted-package"]
}Bun прочитает это поле и выполнит скрипты жизненного цикла для my-trusted-package.
Git-зависимости
Для добавления зависимости из публичного или частного git-репозитория:
bun add git@github.com:moment/moment.gitNOTE
Для установки частных репозиториев вашей системе необходимы соответствующие SSH-учетные данные для доступа к репозиторию.Bun поддерживает множество протоколов, включая github, git, git+ssh, git+https и многие другие.
{
"dependencies": {
"dayjs": "git+https://github.com/iamkun/dayjs.git",
"lodash": "git+ssh://github.com/lodash/lodash.git#4.17.21",
"moment": "git@github.com:moment/moment.git",
"zod": "github:colinhacks/zod"
}
}Зависимости из tarball
Имя пакета может соответствовать публично размещенному файлу .tgz. Во время установки Bun загрузит и установит пакет из указанного URL tarball, а не из реестра пакетов.
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgzЭто добавит следующую строку в ваш package.json:
{
"dependencies": {
"zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
}
}