Skip to content

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

Pour ajouter un package particulier :

bash
bun add preact

Pour spécifier une version, une plage de versions ou un tag :

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

--dev

NOTE

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

Pour ajouter un package comme dépendance de développement ("devDependencies") :

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

--optional

Pour ajouter un package comme dépendance optionnelle ("optionalDependencies") :

bash
bun add --optional lodash

--peer

Pour ajouter un package comme dépendance peer ("peerDependencies") :

bash
bun add --peer @types/bun

--exact

NOTE

**Alias** — `-E`

Pour ajouter un package et le fixer à la version résolue, utilisez --exact. Cela résoudra la version du package et l'ajoutera à votre package.json avec un numéro de version exact au lieu d'une plage de versions.

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

Ceci ajoutera ce qui suit à votre package.json :

json
{
  "dependencies": {
    // sans --exact
    "react": "^18.2.0", // cela correspond à >= 18.2.0 < 19.0.0

    // avec --exact
    "react": "18.2.0" // cela correspond uniquement à 18.2.0 exactement
  }
}

Pour afficher une liste complète des options pour cette commande :

bash
bun add --help

--global

NOTE

**Note** — Cela ne modifierait pas le package.json de votre dossier de projet actuel. **Alias** - `bun add --global`, `bun add -g`, `bun install --global` et `bun install -g`

Pour installer un package globalement, utilisez le drapeau -g/--global. Cela ne modifiera pas le package.json de votre projet actuel. Généralement, cela est utilisé pour installer des outils en ligne de commande.

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

Configuration du comportement d'installation globale

toml
[install]
# où `bun add --global` installe les packages
globalDir = "~/.bun/install/global"

# où les binaires de packages installés globalement sont liés
globalBinDir = "~/.bun/bin"

Dépendances de confiance

Contrairement à d'autres clients npm, Bun n'exécute pas de scripts de cycle de vie arbitraires pour les dépendances installées, tels que postinstall. Ces scripts représentent un risque de sécurité potentiel, car ils peuvent exécuter du code arbitraire sur votre machine.

Pour dire à Bun d'autoriser les scripts de cycle de vie pour un package particulier, ajoutez le package à trustedDependencies dans votre package.json.

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

Bun lit ce champ et exécutera les scripts de cycle de vie pour my-trusted-package.

Dépendances git

Pour ajouter une dépendance depuis un dépôt git public ou privé :

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

NOTE

Pour installer des dépôts privés, votre système a besoin des identifiants SSH appropriés pour accéder au dépôt.

Bun prend en charge une variété de protocoles, y compris github, git, git+ssh, git+https, et bien d'autres.

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

Dépendances tarball

Un nom de package peut correspondre à un fichier .tgz hébergé publiquement. Pendant l'installation, Bun téléchargera et installera le package depuis l'URL du tarball spécifiée, plutôt que depuis le registre de packages.

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

Ceci ajoutera la ligne suivante à votre package.json :

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

Bun édité par www.bunjs.com.cn