import Add from "/es/snippets/cli/add.mdx";
Para agregar un paquete en particular:
bun add preactPara especificar una versión, rango de versión, o etiqueta:
bun add zod@3.20.0
bun add zod@^3.0.0
bun add zod@latest--dev
NOTE
**Alias** — `--development`, `-d`, `-D`Para agregar un paquete como una dependencia de desarrollo ("devDependencies"):
bun add --dev @types/react
bun add -d @types/react--optional
Para agregar un paquete como una dependencia opcional ("optionalDependencies"):
bun add --optional lodash--peer
Para agregar un paquete como una dependencia peer ("peerDependencies"):
bun add --peer @types/bun--exact
NOTE
**Alias** — `-E`Para agregar un paquete y fijar a la versión resuelta, usa --exact. Esto resolverá la versión del paquete y la agregará a tu package.json con un número de versión exacto en lugar de un rango de versión.
bun add react --exact
bun add react -EEsto agregará lo siguiente a tu package.json:
{
"dependencies": {
// sin --exact
"react": "^18.2.0", // esto coincide con >= 18.2.0 < 19.0.0
// con --exact
"react": "18.2.0" // esto coincide solo con 18.2.0 exactamente
}
}Para ver una lista completa de opciones para este comando:
bun add --help--global
NOTE
**Nota** — Esto no modificaría el package.json de tu carpeta de proyecto actual. **Alias** - `bun add --global`, `bun add -g`, `bun install --global` y `bun install -g`Para instalar un paquete globalmente, usa la bandera -g/--global. Esto no modificará el package.json de tu proyecto actual. Típicamente esto se usa para instalar herramientas de línea de comandos.
bun add --global cowsay # o `bun add -g cowsay`
cowsay "Bun!" ______
< Bun! >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||Configurar el comportamiento de instalación global
[install]
# dónde `bun add --global` instala paquetes
globalDir = "~/.bun/install/global"
# dónde se enlazan los binarios de paquetes instalados globalmente
globalBinDir = "~/.bun/bin"Dependencias de confianza
A diferencia de otros clientes npm, Bun no ejecuta scripts de ciclo de vida arbitrarios para dependencias instaladas, como postinstall. Estos scripts representan un riesgo de seguridad potencial, ya que pueden ejecutar código arbitrario en tu máquina.
Para decirle a Bun que permita scripts de ciclo de vida para un paquete en particular, agrega el paquete a trustedDependencies en tu package.json.
{
"name": "my-app",
"version": "1.0.0",
"trustedDependencies": ["my-trusted-package"]
}Bun lee este campo y ejecutará scripts de ciclo de vida para my-trusted-package.
Dependencias de git
Para agregar una dependencia desde un repositorio git público o privado:
bun add git@github.com:moment/moment.gitNOTE
Para instalar repositorios privados, tu sistema necesita las credenciales SSH apropiadas para acceder al repositorio.Bun soporta una variedad de protocolos, incluyendo github, git, git+ssh, git+https, y muchos más.
{
"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"
}
}Dependencias de tarball
Un nombre de paquete puede corresponder a un archivo .tgz alojado públicamente. Durante la instalación, Bun descargará e instalará el paquete desde la URL del tarball especificada, en lugar de desde el registro de paquetes.
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgzEsto agregará la siguiente línea a tu package.json:
{
"dependencies": {
"zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
}
}