Skip to content

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

Per aggiungere un particolare pacchetto:

bash
bun add preact

Per specificare una versione, intervallo di versioni o tag:

bash
bun add zod@3.20.0
bun add zod@^3.0.0
bun add zod@latest

--dev

NOTE

**Alias** — `--development`, `-d`, `-D`

Per aggiungere un pacchetto come dipendenza di sviluppo ("devDependencies"):

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

--optional

Per aggiungere un pacchetto come dipendenza opzionale ("optionalDependencies"):

bash
bun add --optional lodash

--peer

Per aggiungere un pacchetto come dipendenza peer ("peerDependencies"):

bash
bun add --peer @types/bun

--exact

NOTE

**Alias** — `-E`

Per aggiungere un pacchetto e fissarlo alla versione risolta, usa --exact. Questo risolverà la versione del pacchetto e la aggiungerà al tuo package.json con un numero di versione esatto invece di un intervallo di versioni.

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

Questo aggiungerà quanto segue al tuo package.json:

json
{
  "dependencies": {
    // senza --exact
    "react": "^18.2.0", // questo corrisponde >= 18.2.0 < 19.0.0

    // con --exact
    "react": "18.2.0" // questo corrisponde solo 18.2.0 esattamente
  }
}

Per visualizzare un elenco completo di opzioni per questo comando:

bash
bun add --help

--global

NOTE

**Nota** — Questo non modificherebbe il package.json della cartella del tuo progetto corrente. **Alias** - `bun add --global`, `bun add -g`, `bun install --global` e `bun install -g`

Per installare un pacchetto globalmente, usa il flag -g/--global. Questo non modificherà il package.json del tuo progetto corrente. Tipicamente questo è usato per installare strumenti da riga di comando.

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

Configurare il comportamento dell'installazione globale

toml
[install]
# dove `bun add --global` installa i pacchetti
globalDir = "~/.bun/install/global"

# dove i binari dei pacchetti installati globalmente sono collegati
globalBinDir = "~/.bun/bin"

Dipendenze attendibili

Diversamente da altri client npm, Bun non esegue script arbitrari del ciclo di vita per le dipendenze installate, come postinstall. Questi script rappresentano un potenziale rischio per la sicurezza, poiché possono eseguire codice arbitrario sulla tua macchina.

Per dire a Bun di consentire script del ciclo di vita per un particolare pacchetto, aggiungi il pacchetto a trustedDependencies nel tuo package.json.

json
{
  "name": "my-app",
  "version": "1.0.0",
  "trustedDependencies": ["my-trusted-package"] 
}

Bun legge questo campo ed eseguirà script del ciclo di vita per my-trusted-package.

Dipendenze Git

Per aggiungere una dipendenza da un repository git pubblico o privato:

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

NOTE

Per installare repository privati, il tuo sistema ha bisogno delle credenziali SSH appropriate per accedere al repository.

Bun supporta una varietà di protocolli, inclusi github, git, git+ssh, git+https, e molti altri.

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"
  }
}

Dipendenze Tarball

Un nome di pacchetto può corrispondere a un file .tgz ospitato pubblicamente. Durante l'installazione, Bun scaricherà e installerà il pacchetto dall'URL del tarball specificato, invece che dal registro dei pacchetti.

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

Questo aggiungerà la seguente riga al tuo package.json:

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

Bun a cura di www.bunjs.com.cn