Desktop-Knotenumgebung
Seite bearbeitenHagiCode Desktop wird mit einer Desktop-verwalteten Node-Toolchain geliefert. Es übernimmt nicht die globale Node-Installation auf Ihrem Computer. Sein Zweck besteht darin, dem Desktop-Start und den laufzeitbezogenen Abläufen eine stabile und überprüfbare Laufzeitgrundlage zu geben.
Lesen Sie diese FAQ, wenn Sie sie sehen portable-fixed/toolchain In der Diagnostik muss man wissen, welche node Desktop verwendet, oder fragen Sie sich, warum die Knotenversion Ihres Systems das Desktop-Laufzeitverhalten nicht direkt definiert.
Warum Desktop-Bundles Node
Abschnitt betitelt „Warum Desktop-Bundles Node“Desktop muss die gleichen unterstützenden Abläufe über Betriebssysteme, Installationskanäle und Benutzerumgebungen hinweg ausführen. Wenn es nur von der vorhandenen Node-Installation des Benutzers abhängen würde, müsste der Support gleichzeitig mit veralteten Versionen, fehlenden npm, falscher Pfadreihenfolge, verschmutzten globalen Paketen und organisationsspezifischen Registrierungsrichtlinien umgehen.
Desktop beschreibt dies genauer als isolierte Node/npm-Laufzeit für verwaltete CLIs anstelle der Wiederverwendung der systemweiten Umgebung. Dieses Design hat folgende Hauptvorteile:
- Konsistente Versionen: Desktop verwendet einen angehefteten Node-22-Laufzeitvertrag, anstatt die lokale Hauptversion des Benutzers zu erraten.
- Kontrollierte Startabläufe: Vom Desktop verwaltete Befehle können das Paket bevorzugen
nodeundnpmEinträge. - Klare Konfigurationsgrenzen: Die CLI-bezogene Konfiguration wird von der hostweiten globalen Konfiguration getrennt gehalten, sodass Updates, Switches und Wiederherstellungen weniger wahrscheinlich durch Unterschiede in der Systemumgebung gestört werden.
- Reduzierte Konflikte: Gebündelte Pfade gelten für von Desktop erstellte Befehlsumgebungen und ersetzen nicht den globalen Knoten des Benutzers in seinem Terminal.
- Nicht-intrusives Host-Verhalten: Durch diese Isolation wird vermieden, dass der Toolchain-Status in die vorhandene Node-/npm-Umgebung des Benutzers geschrieben wird, und die Deinstallation von Desktop beeinträchtigt nicht den Node, npm oder die Konfiguration, die bereits auf dem Computer vorhanden ist.
Wie Desktop den Knotenpfad auswählt
Abschnitt betitelt „Wie Desktop den Knotenpfad auswählt“Wenn Sie Desktop normal ausführen, bevorzugt Desktop die mit der App installierte Node-Toolchain, anstatt zuerst die Node-Installation von Ihrem System zu lesen. Dadurch bleibt die Node-Version in Ihrem Terminal von der Node-Version getrennt, die Desktop während der Ausführung erwartet.
Wenn die gebündelte Toolchain aktiviert ist, stellen von Desktop erstellte Befehlsumgebungen gebündelte Toolchain-Pfade an den Anfang PATH. Selbst wenn auf Ihrem System eine andere Node-Version installiert ist, werden von Desktop verwaltete Flows daher zuerst in den gebündelten Node und npm von Desktop aufgelöst.
Dies betrifft nur Laufzeitumgebungen, die von Desktop erstellt wurden. Wenn du rennst node, npmoder andere Befehle direkt in Ihrem Systemterminal verwenden, verwenden sie weiterhin Ihre normale Systemumgebung und Shell-Konfiguration.
In Diagnose- oder untergeordneten Prozessumgebungen, die von Desktop gestartet werden, wird möglicherweise eine Variable wie diese angezeigt:
HAGICODE_PORTABLE_TOOLCHAIN_ROOT=/path/to/portable-fixed/toolchainDiese Variable bedeutet, dass die vom Desktop verwaltete Laufzeitumgebung das gebündelte Toolchain-Stammverzeichnis erkannt hat. Wenn Sie diesen Pfad sehen, bedeutet das nicht, dass Desktop Ihren Systemknoten geändert hat. Dies bedeutet lediglich, dass Desktop die mit der App gelieferte Node-Umgebung in seinem eigenen Laufzeitbereich verwendet.
Wo Desktop verwaltete NPM-Pakete installiert
Abschnitt betitelt „Wo Desktop verwaltete NPM-Pakete installiert“Desktop speichert Laufzeitdateien und veränderbare NPM-Paketdateien an verschiedenen Orten. Der gebündelte Toolchain-Pfad wie z portable-fixed/toolchain/node ist die unveränderliche Quelle für den Desktop-verwalteten node und npm Befehle. Verwaltete globale Pakete werden stattdessen im Electron-Benutzerdatenverzeichnis installiert:
userData/node22/npmGlobalWenn Desktop später auf Knoten 24 verschoben wird, verwendet es einen separaten Paketbaum, z userData/node24/npmGlobal. Für Knoten 22 installierte Pakete bleiben auf der Festplatte, werden aber erst dann als für Knoten 24 installiert behandelt, wenn sie im neuen Node-Major-Präfix neu installiert werden.
Der Desktop-Abhängigkeitsstatus überprüft nur die aktive userData/node<major>/npmGlobal Präfix. Paketdateien außerhalb dieses Präfixes werden vom Abhängigkeitsmanagement ignoriert.