import Patch from "/snippets/cli/patch.mdx";
bun patch ermöglicht es Ihnen, node_modules persistent auf eine wartbare, git-freundliche Weise zu patchen.
Manchmal müssen Sie eine kleine Änderung an einem Paket in node_modules/ vornehmen, um einen Fehler zu beheben oder eine Funktion hinzuzufügen. bun patch macht es einfach, dies zu tun, ohne das gesamte Paket zu vendoren, und ermöglicht die Wiederverwendung des Patches über mehrere Installationen, Projekte und Maschinen hinweg.
Funktionen:
- Generiert
.patch-Dateien, die bei der Installation auf Abhängigkeiten innode_modulesangewendet werden .patch-Dateien können in Ihr Repository committet und über mehrere Installationen, Projekte und Maschinen hinweg wiederverwendet werden"patchedDependencies"inpackage.jsonverfolgt gepatchte Paketebun patchermöglicht das Patchen von Paketen innode_modules/unter Wahrung der Integrität von Buns Globalem Cache- Testen Sie Ihre Änderungen lokal, bevor Sie sie mit
bun patch --commit <pkg>committen - Um Festplattenspeicher zu sparen und
bun installschnell zu halten, werden gepatchte Pakete im Globalen Cache committet und wo möglich über Projekte hinweg geteilt
Schritt 1. Vorbereiten des Pakets zum Patchen
Verwenden Sie bun patch <pkg>, um das Paket zum Patchen vorzubereiten:
# Sie können den Paketnamen angeben
bun patch react
# ...und eine genaue Version, falls mehrere Versionen installiert sind
bun patch react@17.0.2
# oder den Pfad zum Paket
bun patch node_modules/reactHinweis
Vergessen Sie nicht, bun patch <pkg> aufzurufen! Dies stellt sicher, dass der Paketordner in node_modules/ eine frische Kopie des Pakets ohne Symlinks/Hardlinks zu Buns Cache enthält. Wenn Sie dies vergessen, könnten Sie am Ende das Paket global im Cache bearbeiten!
Schritt 2. Ihre Änderungen lokal testen
bun patch <pkg> macht es sicher, das <pkg> in node_modules/ direkt zu bearbeiten, während die Integrität von Buns Globalem Cache erhalten bleibt. Dies funktioniert, indem ein unverknüpfter Klon des Pakets in node_modules/ neu erstellt und mit dem ursprünglichen Paket im Globalen Cache verglichen wird.
Schritt 3. Ihre Änderungen committen
Sobald Sie mit Ihren Änderungen zufrieden sind, führen Sie bun patch --commit <Pfad oder pkg> aus.
Bun generiert eine Patch-Datei in patches/, aktualisiert Ihre package.json und Lockfile, und Bun beginnt, das gepatchte Paket zu verwenden:
# Sie können den Pfad zum gepatchten Paket angeben
bun patch --commit node_modules/react
# ... oder den Paketnamen und optional die Version
bun patch --commit react@17.0.2
# Wählen Sie das Verzeichnis zum Speichern der Patch-Dateien
bun patch --commit react --patches-dir=mypatches
# `patch-commit` ist für Kompatibilität mit pnpm verfügbar
bun patch-commit react