Skip to content

Die bun pm-Befehlsgruppe bietet eine Reihe von Dienstprogrammen für die Arbeit mit Buns Paketmanager.

pack

Um ein Tarball des aktuellen Workspace zu erstellen:

bash
bun pm pack

Dieser Befehl erstellt eine .tgz-Datei, die alle Dateien enthält, die an npm veröffentlicht würden, und folgt denselben Regeln wie npm pack.

Beispiele

Grundlegende Verwendung:

bash
bun pm pack
# Erstellt my-package-1.0.0.tgz im aktuellen Verzeichnis

Ruhiger Modus für Skripte:

bash
TARBALL=$(bun pm pack --quiet)
echo "Erstellt: $TARBALL"
txt
Erstellt: my-package-1.0.0.tgz

Benutzerdefiniertes Ziel:

bash
bun pm pack --destination ./dist
# Speichert Tarball im ./dist/ Verzeichnis

Optionen

  • --dry-run: Führt alle Aufgaben aus, außer das Tarball auf die Festplatte zu schreiben. Zeigt, was enthalten wäre.
  • --destination <dir>: Gibt das Verzeichnis an, in dem das Tarball gespeichert wird.
  • --filename <name>: Gibt einen exakten Dateinamen für das zu speichernde Tarball an.
  • --ignore-scripts: Überspringt die Ausführung von pre/postpack- und prepare-Skripten.
  • --gzip-level <0-9>: Legt eine benutzerdefinierte Komprimierungsstufe für gzip fest, von 0 bis 9 (Standard ist 9).
  • --quiet: Gibt nur den Tarball-Dateinamen aus und unterdrückt die ausführliche Ausgabe. Ideal für Skripte und Automatisierung.

Hinweis: --filename und --destination können nicht gleichzeitig verwendet werden.

Ausgabemodi

Standardausgabe:

bash
bun pm pack
txt
bun pack v1.2.19

packed 131B package.json
packed 40B index.js

my-package-1.0.0.tgz

Total files: 2
Shasum: f2451d6eb1e818f500a791d9aace80b394258a90
Unpacked size: 171B
Packed size: 249B

Ruhige Ausgabe:

bash
bun pm pack --quiet
txt
my-package-1.0.0.tgz

Das --quiet-Flag ist besonders nützlich für Automatisierungs-Workflows, bei denen Sie den generierten Tarball-Dateinamen für die weitere Verarbeitung erfassen müssen.

bin

Um den Pfad zum bin-Verzeichnis für das lokale Projekt auszugeben:

bash
bun pm bin
txt
/path/to/current/project/node_modules/.bin

Um den Pfad zum globalen bin-Verzeichnis auszugeben:

bash
bun pm bin -g
txt
<$HOME>/.bun/bin

ls

Um eine Liste der installierten Abhängigkeiten im aktuellen Projekt und ihrer aufgelösten Versionen auszugeben, ohne ihre Abhängigkeiten:

bash
bun pm ls
# oder
bun list
txt
/path/to/project node_modules (135)
├── eslint@8.38.0
├── react@18.2.0
├── react-dom@18.2.0
├── typescript@5.0.4
└── zod@3.21.4

Um alle installierten Abhängigkeiten einschließlich Abhängigkeiten n-ter Ordnung auszugeben:

bash
bun pm ls --all
# oder
bun list --all
txt
/path/to/project node_modules (135)
├── @eslint-community/eslint-utils@4.4.0
├── @eslint-community/regexpp@4.5.0
├── @eslint/eslintrc@2.0.2
├── @eslint/js@8.38.0
├── @nodelib/fs.scandir@2.1.5
├── @nodelib/fs.stat@2.0.5
├── @nodelib/fs.walk@1.2.8
├── acorn@8.8.2
├── acorn-jsx@5.3.2
├── ajv@6.12.6
├── ansi-regex@5.0.1
├── ...

whoami

Gibt Ihren npm-Benutzernamen aus. Erfordert, dass Sie angemeldet sind (bunx npm login) mit Anmeldeinformationen entweder in bunfig.toml oder .npmrc:

bash
bun pm whoami

hash

Um den Hash der aktuellen Lockfile zu generieren und auszugeben:

bash
bun pm hash

Um den String auszugeben, der zum Hashen der Lockfile verwendet wurde:

bash
bun pm hash-string

Um den in der aktuellen Lockfile gespeicherten Hash auszugeben:

bash
bun pm hash-print

cache

Um den Pfad zu Buns globalem Modul-Cache auszugeben:

bash
bun pm cache

Um Buns globalen Modul-Cache zu löschen:

bash
bun pm cache rm

migrate

Um die Lockfile eines anderen Paketmanagers zu migrieren, ohne etwas zu installieren:

bash
bun pm migrate

untrusted

Um aktuelle nicht vertrauenswürdige Abhängigkeiten mit Skripten auszugeben:

bash
bun pm untrusted
txt
./node_modules/@biomejs/biome @1.8.3
 » [postinstall]: node scripts/postinstall.js

Diese Abhängigkeiten hatten ihre Lifecycle-Skripte während der Installation blockiert.

trust

Um Skripte für nicht vertrauenswürdige Abhängigkeiten auszuführen und zu trustedDependencies hinzuzufügen:

bash
bun pm trust <Namen>

Optionen für den trust-Befehl:

  • --all: Vertraut allen nicht vertrauenswürdigen Abhängigkeiten.

default-trusted

Um die Liste der standardmäßig vertrauenswürdigen Abhängigkeiten auszugeben:

bash
bun pm default-trusted

Siehe die aktuelle Liste auf GitHub hier

version

Um die aktuelle Paketversion und Hilfe anzuzeigen:

bash
bun pm version
txt
bun pm version v1.3.3 (ca7428e9)
Current package version: v1.0.0

Increment:
  patch      1.0.0 → 1.0.1
  minor      1.0.0 → 1.1.0
  major      1.0.0 → 2.0.0
  prerelease 1.0.0 → 1.0.1-0
  prepatch   1.0.0 → 1.0.1-0
  preminor   1.0.0 → 1.1.0-0
  premajor   1.0.0 → 2.0.0-0
  from-git   Verwendet Version vom neuesten Git-Tag
  1.2.3      Setzt spezifische Version

Options:
  --no-git-tag-version Überspringt Git-Operationen
  --allow-same-version Verhindert das Auslösen eines Fehlers, wenn die Version gleich ist
  --message=<val>, -m  Benutzerdefinierte Commit-Nachricht, verwenden Sie %s für Versionsersetzung
  --preid=<val>        Prerelease-Identifier (z.B. beta → 1.0.1-beta.0)
  --force, -f          Umgeht die Prüfung auf verschmutzte Git-Historie

Examples:
  bun pm version patch
  bun pm version 1.2.3 --no-git-tag-version
  bun pm version prerelease --preid beta --message "Release beta: %s"

Um die Version in package.json zu erhöhen:

bash
bun pm version patch
txt
v1.0.1

Unterstützt patch, minor, major, premajor, preminor, prepatch, prerelease, from-git oder spezifische Versionen wie 1.2.3. Erstellt standardmäßig einen Git-Commit und Tag, es sei denn, --no-git-tag-version wurde verwendet, um dies zu überspringen.

pkg

Verwalten von package.json-Daten mit get-, set-, delete- und fix-Operationen.

Alle Befehle unterstützen Punkt- und Klammer-Notation:

bash
scripts.build              # Punkt-Notation
contributors[0]            # Array-Zugriff
workspaces.0               # Punkt mit numerischem Index
scripts[test:watch]        # Klammer für Sonderzeichen

Beispiele:

bash
# get
bun pm pkg get name                               # einzelne Eigenschaft
bun pm pkg get name version                       # mehrere Eigenschaften
bun pm pkg get                                    # gesamte package.json
bun pm pkg get scripts.build                      # verschachtelte Eigenschaft

# set
bun pm pkg set name="my-package"                  # einfache Eigenschaft
bun pm pkg set scripts.test="jest" version=2.0.0  # mehrere Eigenschaften
bun pm pkg set {"private":"true"} --json          # JSON-Werte mit --json-Flag

# delete
bun pm pkg delete description                     # einzelne Eigenschaft
bun pm pkg delete scripts.test contributors[0]    # mehrere/verschachtelte

# fix
bun pm pkg fix                                    # automatische Behebung häufiger Probleme

Bun von www.bunjs.com.cn bearbeitet