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:
bun pm packDieser 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:
bun pm pack
# Erstellt my-package-1.0.0.tgz im aktuellen VerzeichnisRuhiger Modus für Skripte:
TARBALL=$(bun pm pack --quiet)
echo "Erstellt: $TARBALL"Erstellt: my-package-1.0.0.tgzBenutzerdefiniertes Ziel:
bun pm pack --destination ./dist
# Speichert Tarball im ./dist/ VerzeichnisOptionen
--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:
--filenameund--destinationkönnen nicht gleichzeitig verwendet werden.
Ausgabemodi
Standardausgabe:
bun pm packbun 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: 249BRuhige Ausgabe:
bun pm pack --quietmy-package-1.0.0.tgzDas --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:
bun pm bin/path/to/current/project/node_modules/.binUm den Pfad zum globalen bin-Verzeichnis auszugeben:
bun pm bin -g<$HOME>/.bun/binls
Um eine Liste der installierten Abhängigkeiten im aktuellen Projekt und ihrer aufgelösten Versionen auszugeben, ohne ihre Abhängigkeiten:
bun pm ls
# oder
bun list/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.4Um alle installierten Abhängigkeiten einschließlich Abhängigkeiten n-ter Ordnung auszugeben:
bun pm ls --all
# oder
bun list --all/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:
bun pm whoamihash
Um den Hash der aktuellen Lockfile zu generieren und auszugeben:
bun pm hashUm den String auszugeben, der zum Hashen der Lockfile verwendet wurde:
bun pm hash-stringUm den in der aktuellen Lockfile gespeicherten Hash auszugeben:
bun pm hash-printcache
Um den Pfad zu Buns globalem Modul-Cache auszugeben:
bun pm cacheUm Buns globalen Modul-Cache zu löschen:
bun pm cache rmmigrate
Um die Lockfile eines anderen Paketmanagers zu migrieren, ohne etwas zu installieren:
bun pm migrateuntrusted
Um aktuelle nicht vertrauenswürdige Abhängigkeiten mit Skripten auszugeben:
bun pm untrusted./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:
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:
bun pm default-trustedSiehe die aktuelle Liste auf GitHub hier
version
Um die aktuelle Paketversion und Hilfe anzuzeigen:
bun pm versionbun 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:
bun pm version patchv1.0.1Unterstü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:
scripts.build # Punkt-Notation
contributors[0] # Array-Zugriff
workspaces.0 # Punkt mit numerischem Index
scripts[test:watch] # Klammer für SonderzeichenBeispiele:
# 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