import Add from "/pt/snippets/cli/add.mdx";
Para adicionar um pacote específico:
bun add preactPara especificar uma versão, intervalo de versão ou tag:
bun add zod@3.20.0
bun add zod@^3.0.0
bun add zod@latest--dev
NOTE
**Alias** — `--development`, `-d`, `-D`Para adicionar um pacote como dependência de desenvolvimento ("devDependencies"):
bun add --dev @types/react
bun add -d @types/react--optional
Para adicionar um pacote como dependência opcional ("optionalDependencies"):
bun add --optional lodash--peer
Para adicionar um pacote como dependência peer ("peerDependencies"):
bun add --peer @types/bun--exact
NOTE
**Alias** — `-E`Para adicionar um pacote e fixar na versão resolvida, use --exact. Isso resolverá a versão do pacote e a adicionará ao seu package.json com um número de versão exato em vez de um intervalo de versão.
bun add react --exact
bun add react -EIsso adicionará o seguinte ao seu package.json:
{
"dependencies": {
// sem --exact
"react": "^18.2.0", // isso corresponde >= 18.2.0 < 19.0.0
// com --exact
"react": "18.2.0" // isso corresponde apenas 18.2.0 exatamente
}
}Para visualizar uma lista completa de opções para este comando:
bun add --help--global
NOTE
**Nota** — Isso não modificaria o package.json da pasta do seu projeto atual. **Alias** - `bun add --global`, `bun add -g`, `bun install --global` e `bun install -g`Para instalar um pacote globalmente, use a flag -g/--global. Isso não modificará o package.json do seu projeto atual. Normalmente isso é usado para instalar ferramentas de linha de comando.
bun add --global cowsay # ou `bun add -g cowsay`
cowsay "Bun!" ______
< Bun! >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||Configurando o comportamento de instalação global
[install]
# onde `bun add --global` instala pacotes
globalDir = "~/.bun/install/global"
# onde binários de pacotes instalados globalmente são linkados
globalBinDir = "~/.bun/bin"Dependências confiáveis
Ao contrário de outros clientes npm, o Bun não executa scripts de ciclo de vida arbitrários para dependências instaladas, como postinstall. Estes scripts representam um risco de segurança potencial, pois podem executar código arbitrário na sua máquina.
Para dizer ao Bun para permitir scripts de ciclo de vida para um pacote específico, adicione o pacote a trustedDependencies no seu package.json.
{
"name": "my-app",
"version": "1.0.0",
"trustedDependencies": ["my-trusted-package"]
}O Bun lê este campo e executará scripts de ciclo de vida para my-trusted-package.
Dependências Git
Para adicionar uma dependência de um repositório git público ou privado:
bun add git@github.com:moment/moment.gitNOTE
Para instalar repositórios privados, seu sistema precisa das credenciais SSH apropriadas para acessar o repositório.O Bun suporta uma variedade de protocolos, incluindo github, git, git+ssh, git+https e muitos mais.
{
"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"
}
}Dependências de tarball
Um nome de pacote pode corresponder a um arquivo .tgz hospedado publicamente. Durante a instalação, o Bun baixará e instalará o pacote da URL do tarball especificada, em vez do registro de pacotes.
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgzIsso adicionará a seguinte linha ao seu package.json:
{
"dependencies": {
"zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
}
}