Skip to content

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

Um ein bestimmtes Paket hinzuzufügen:

bash
bun add preact

Um eine Version, einen Versionsbereich oder ein Tag anzugeben:

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

--dev

NOTE

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

Um ein Paket als Entwicklungsabhängigkeit ("devDependencies") hinzuzufügen:

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

--optional

Um ein Paket als optionale Abhängigkeit ("optionalDependencies") hinzuzufügen:

bash
bun add --optional lodash

--peer

Um ein Paket als Peer-Abhängigkeit ("peerDependencies") hinzuzufügen:

bash
bun add --peer @types/bun

--exact

NOTE

**Alias** — `-E`

Um ein Paket hinzuzufügen und auf die aufgelöste Version zu fixieren, verwenden Sie --exact. Dies löst die Version des Pakets auf und fügt es mit einer exakten Versionsnummer statt einem Versionsbereich zu Ihrer package.json hinzu.

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

Dies fügt Folgendes zu Ihrer package.json hinzu:

json
{
  "dependencies": {
    // ohne --exact
    "react": "^18.2.0", // dies matcht >= 18.2.0 < 19.0.0

    // mit --exact
    "react": "18.2.0" // dies matcht nur exakt 18.2.0
  }
}

Um eine vollständige Liste der Optionen für diesen Befehl anzuzeigen:

bash
bun add --help

--global

NOTE

**Hinweis** — Dies würde die package.json Ihres aktuellen Projektordners nicht modifizieren. **Alias** - `bun add --global`, `bun add -g`, `bun install --global` und `bun install -g`

Um ein Paket global zu installieren, verwenden Sie das -g/--global-Flag. Dies ändert nicht die package.json Ihres aktuellen Projekts. Typischerweise wird dies für die Installation von Befehlszeilen-Tools verwendet.

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

Verhalten der globalen Installation konfigurieren

toml
[install]
# wo `bun add --global` Pakete installiert
globalDir = "~/.bun/install/global"

# wo global installierte Paket-Binärdateien verknüpft werden
globalBinDir = "~/.bun/bin"

Vertrauenswürdige Abhängigkeiten

Im Gegensatz zu anderen npm-Clients führt Bun keine beliebigen Lifecycle-Skripte für installierte Abhängigkeiten wie postinstall aus. Diese Skripte stellen ein potenzielles Sicherheitsrisiko dar, da sie beliebigen Code auf Ihrem Computer ausführen können.

Um Bun mitzuteilen, dass es Lifecycle-Skripte für ein bestimmtes Paket zulassen soll, fügen Sie das Paket zu trustedDependencies in Ihrer package.json hinzu.

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

Bun liest dieses Feld und führt Lifecycle-Skripte für my-trusted-package aus.

Git-Abhängigkeiten

Um eine Abhängigkeit von einem öffentlichen oder privaten Git-Repository hinzuzufügen:

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

NOTE

Um private Repositories zu installieren, benötigt Ihr System die entsprechenden SSH-Anmeldeinformationen für den Zugriff auf das Repository.

Bun unterstützt eine Vielzahl von Protokollen, einschließlich github, git, git+ssh, git+https und viele mehr.

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

Tarball-Abhängigkeiten

Ein Paketname kann einer öffentlich gehosteten .tgz-Datei entsprechen. Während der Installation lädt Bun das Paket von der angegebenen Tarball-URL herunter und installiert es, anstatt es von der Paket-Registry zu beziehen.

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

Dies fügt die folgende Zeile zu Ihrer package.json hinzu:

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

Bun von www.bunjs.com.cn bearbeitet