Skip to content

import Add from "/es/snippets/cli/add.mdx";

Para agregar un paquete en particular:

bash
bun add preact

Para especificar una versión, rango de versión, o etiqueta:

bash
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"):

bash
bun add --dev @types/react
bun add -d @types/react

--optional

Para agregar un paquete como una dependencia opcional ("optionalDependencies"):

bash
bun add --optional lodash

--peer

Para agregar un paquete como una dependencia peer ("peerDependencies"):

bash
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.

bash
bun add react --exact
bun add react -E

Esto agregará lo siguiente a tu package.json:

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:

bash
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.

bash
bun add --global cowsay # o `bun add -g cowsay`
cowsay "Bun!"
txt
 ______
< Bun! >
 ------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Configurar el comportamiento de instalación global

toml
[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.

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:

bash
bun add git@github.com:moment/moment.git

NOTE

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.

json
{
  "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.

sh
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgz

Esto agregará la siguiente línea a tu package.json:

json
{
  "dependencies": {
    "zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
  }
}

Bun por www.bunjs.com.cn editar