Welcher Befehl, wann
Für die tägliche lokale Iteration sollten Sie fast immer
yarn twenty dev verwenden. Bereitstellen und Veröffentlichen sind zum Ausliefern von Releases gedacht, nicht für den lokalen Entwicklungszyklus.| Sie möchten … | Befehl | Notizen |
|---|---|---|
| Lokal mit Live-Sync iterieren | yarn twenty dev | Überwacht Ihre Dateien und synchronisiert bei jeder Änderung. |
| Einmal synchronisieren und beenden (CI, Skripte, Hooks) | yarn twenty dev --once | Führt einen Build und einen Sync aus und beendet sich anschließend. |
| Änderungen anzeigen, ohne sie anzuwenden | yarn twenty dev --once --dry-run | Berechnet und druckt das Diff; schreibt nichts. |
| Die App aus dem Workspace entfernen | yarn twenty app:uninstall | Fügen Sie --yes hinzu, um die Abfrage zu überspringen. |
| Einen Tarball an einen Server ausliefern | yarn twenty app:publish --private | Erfordert eine strikt höhere package.json-Version – siehe Veröffentlichen. |
| Im Marketplace (npm) veröffentlichen | yarn twenty app:publish | — |
| Eine bereitgestellte Version installieren/aktualisieren | yarn twenty app:install | Installiert die aktuell bereitgestellte Version. |
| Den lokalen Server zurücksetzen und sauber neu starten | yarn twenty docker:reset | Löscht alle lokalen Daten – letztes Mittel. |
Lokaler Sync benötigt keinen Versionssprung
Die strikt steigendeversion-Regel (VERSION_ALREADY_EXISTS beim Deploy, APP_ALREADY_INSTALLED / CANNOT_DOWNGRADE_APPLICATION bei der Installation) gilt für app:publish / app:install – den Release-Pfad. yarn twenty dev synchronisiert Ihr Manifest an Ort und Stelle und erfordert niemals eine Versionsänderung, sodass Sie package.json nicht anfassen müssen, um zu iterieren. Wenn Sie die Version erhöhen, um eine lokale Änderung zu testen, verwenden Sie den Release-Pfad, obwohl Sie den Entwicklungszyklus benötigen.
Die Sync-Ausgabe lesen
Jeder Sync gibt die Metadatenänderungen aus, die er angewendet hat (oder anwenden würde, mit--dry-run):
universalIdentifier, zum Beispiel:
Änderungen vorab ansehen (Dry Run)
yarn twenty dev --once --dry-run baut Ihr Manifest, fragt den Server nach dem Migrationsplan und gibt ihn aus – ohne irgendetwas anzuwenden. Dies ist der sichere Weg, um zu beantworten: “Was würde dieser Sync ändern?”, bevor Sie sich darauf festlegen.
- Schreibt nichts – keine Metadatenmigration, kein Update von App-Einträgen, keine Änderungen an Standardrollen/-Tabs und keine API-Client-Generierung.
- Liefert dasselbe Diff, das ein echter Sync anwenden würde, sodass Sie erstellte/aktualisierte/gelöschte Entitäten im Voraus prüfen können.
- Ist nützlich vor einer riskanten Änderung, bei der Überprüfung einer KI-generierten Änderung oder in einem Skript, das fehlschlagen soll, wenn eine unerwartete Änderung kurz vor der Anwendung steht.
Ein Dry Run zeigt nur Metadaten-Änderungen an und erfordert, dass die App mindestens einmal synchronisiert wurde (damit der Workspace sie kennt). Wenn Sie ihn gegen eine App ausführen, die noch nie synchronisiert wurde, meldet der Server, dass die App nicht installiert ist – führen Sie zuerst einmal
yarn twenty dev aus.Wiederherstellungsleiter
Wenn lokale Metadaten falsch aussehen, eskalieren Sie in dieser Reihenfolge und stoppen Sie, sobald Sie nicht mehr blockiert sind. Jeder Schritt ist störender als der vorherige.- Erneut synchronisieren. Führen Sie
yarn twenty dev --onceerneut aus. Syncs sind idempotent – das erneute Ausführen eines sauberen Manifests ist sicher und löst oft eine vorübergehende Störung. - Plan ansehen. Führen Sie
yarn twenty dev --once --dry-runaus, um genau zu sehen, was der nächste Sync zu ändern beabsichtigt, ohne es anzuwenden. - Benannten Fehler lesen. Wenn ein Sync fehlschlägt, notieren Sie sich den Metadatentyp und den
universalIdentifierin der Meldung (siehe oben) und lokalisieren Sie diese Entität in Ihrem Manifest. Ein Konflikt weist in der Regel auf einen doppelten oder wiederverwendeten Bezeichner hin. - Deinstallieren und neu installieren.
yarn twenty app:uninstall, dann erneut synchronisieren (yarn twenty dev). Dies baut die Metadaten der App aus einem sauberen Zustand wieder auf, während der Rest Ihres Workspaces intakt bleibt. - Vollständiger Reset (letztes Mittel).
yarn twenty docker:reset, dann erneut seeden und synchronisieren.
Auf einen Metadatenfehler gestoßen? Bitte öffnen Sie ein Issue und fügen Sie die fehlerhafte Migrationsmeldung (mit ihrem Metadatentyp und
universalIdentifier), die Metadata changes-Ausgabe aus dem Sync sowie die von Ihnen ausgeführten Befehle bei.Gleichzeitige Syncs auf einem Workspace vermeiden
Syncing wendet Metadatenmigrationen an. Mehrere Sync-, Deploy- oder Installationsvorgänge gleichzeitig gegen denselben Workspace auszuführen – zum Beispiel mehrere Terminals oder KI-Agenten, die parallel iterieren – kann diese Migrationen verschachteln und Metadaten in einem teilweise angewendeten Zustand zurücklassen. Der Server serialisiert Syncs pro Workspace, um dies zu verhindern, aber Sie sollten dennoch sensible Metadatenoperationen über einen einzelnen Prozess leiten, anstatt sie gleichzeitig auszulösen. Wenn Sie die Entwicklung mit mehreren Agenten orchestrieren, leiten Sie deren Sync-/Deploy-/Install-Aufrufe durch eine Queue, sodass immer nur einer gleichzeitig läuft.Fehler voneinander unterscheiden
Wenn etwas schiefläuft, ermöglichen Ihnen das Metadaten-Diff und benannte Fehler, den Fehler einzuordnen:- Manifest-Build-Fehler – die CLI schlägt vor dem Sync fehl (
MANIFEST_BUILD_FAILED,TYPECHECK_FAILED); beheben Sie den Quellcode Ihrer App. - Sync-/Migrationsfehler – der Build ist erfolgreich, aber das Anwenden des Diffs schlägt fehl und nennt die Entität und den
universalIdentifier; beheben Sie die widersprüchlichen Metadaten. - App-Code-Laufzeitfehler — die Synchronisierung ist erfolgreich, aber Ihre Logikfunktionen oder Komponenten verhalten sich zur Laufzeit unerwartet; überprüfen Sie die Funktionsprotokolle.
- Lokaler Instanzzustand — nichts davon trifft zu und der Workspace sieht immer noch falsch aus; arbeiten Sie die Wiederherstellungsleiter nach unten ab.