import Add from "/snippets/cli/add.mdx";
Um ein bestimmtes Paket hinzuzufügen:
bun add preactUm eine Version, einen Versionsbereich oder ein Tag anzugeben:
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:
bun add --dev @types/react
bun add -d @types/react--optional
Um ein Paket als optionale Abhängigkeit ("optionalDependencies") hinzuzufügen:
bun add --optional lodash--peer
Um ein Paket als Peer-Abhängigkeit ("peerDependencies") hinzuzufügen:
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.
bun add react --exact
bun add react -EDies fügt Folgendes zu Ihrer package.json hinzu:
{
"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:
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.
bun add --global cowsay # oder `bun add -g cowsay`
cowsay "Bun!" ______
< Bun! >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||Verhalten der globalen Installation konfigurieren
[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.
{
"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:
bun add git@github.com:moment/moment.gitNOTE
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.
{
"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.
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgzDies fügt die folgende Zeile zu Ihrer package.json hinzu:
{
"dependencies": {
"zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
}
}