デスクトップノード環境
ページを編集HagiCode Desktop には、デスクトップ管理ノード ツールチェーンが付属しています。コンピュータ上のグローバル ノードのインストールは引き継がれません。その目的は、デスクトップの起動とランタイム関連のフローに、安定した検証可能なランタイム基盤を提供することです。
表示された場合は、この FAQ をお読みください。 portable-fixed/toolchain 診断では、どれを知る必要がありますか node デスクトップが使用している、またはシステムのノード バージョンがデスクトップ ランタイムの動作を直接定義していないのはなぜだろうか。
デスクトップバンドルノードを使用する理由
Section titled “デスクトップバンドルノードを使用する理由”デスクトップは、オペレーティング システム、インストール チャネル、ユーザー環境全体で同じサポート フローを実行する必要があります。ユーザーの既存の Node インストールのみに依存している場合、サポートは古いバージョン、npm の欠落、パスの順序の誤り、汚染されたグローバル パッケージ、および組織固有のレジストリ ポリシーをすべて一度に処理する必要があります。
Desktop では、これをシステム全体の環境を再利用するのではなく、マネージド CLI 用の分離された Node/npm ランタイムとしてより具体的に説明します。この設計には次のような主な利点があります。
- 一貫したバージョン: デスクトップは、ユーザーのローカル メジャー バージョンを推測する代わりに、固定された Node 22 ランタイム コントラクトを使用します。
- 制御された起動フロー: デスクトップ管理コマンドはパッケージ化されたコマンドを優先できます。
nodeそしてnpmエントリ。 - 構成境界の明確化: CLI 関連の構成はホスト全体のグローバル構成から分離されているため、システム環境の違いによって更新、切り替え、および回復が中断される可能性が低くなります。
- 競合の軽減: バンドルされたパスは、Desktop によって作成されたコマンド環境に適用され、ターミナル内のユーザーのグローバル ノードを置き換えません。
- 非侵入的なホストの動作: この分離により、ツールチェーンの状態がユーザーの既存の Node/npm 環境に書き込まれることが回避され、Desktop をアンインストールしても、マシン上にすでに存在する Node、npm、または構成が影響を受けることはありません。
デスクトップがノード パスを選択する方法
Section titled “デスクトップがノード パスを選択する方法”Desktop を通常に実行する場合、Desktop は最初にシステムから Node インストールを読み取るのではなく、アプリとともにインストールされた Node ツールチェーンを優先します。これにより、端末内のノードのバージョンが、実行中にデスクトップが予期するノードのバージョンとは別に保たれます。
バンドルされたツールチェーンが有効になっている場合、Desktop によって作成されたコマンド環境は、バンドルされたツールチェーンのパスを先頭に置きます。 PATH。その結果、システムに別の Node バージョンがインストールされている場合でも、デスクトップ管理のフローは、最初にデスクトップのバンドルされたノードと npm に解決されます。
これは、Desktop によって作成されたランタイム環境にのみ影響します。走れば node, npm、またはシステム端末で直接他のコマンドを実行すると、通常のシステム環境とシェル設定が引き続き使用されます。
Desktop によって開始された診断環境または子プロセス環境では、次のような変数が表示される場合があります。
HAGICODE_PORTABLE_TOOLCHAIN_ROOT=/path/to/portable-fixed/toolchainこの変数は、デスクトップ管理のランタイム環境がバンドルされたツールチェーン ルートを認識したことを意味します。このパスが表示されても、デスクトップがシステム ノードを変更したことを意味するわけではありません。これは、デスクトップが独自のランタイム スコープ内でアプリに付属のノード環境を使用していることを意味するだけです。
Desktop が管理対象 npm パッケージをインストールする場所
Section titled “Desktop が管理対象 npm パッケージをインストールする場所”デスクトップでは、ランタイム ファイルと変更可能な npm パッケージ ファイルが別の場所に保存されます。次のようなバンドルされたツールチェーンのパス portable-fixed/toolchain/node デスクトップで管理される不変のソースです。 node そして npm コマンド。代わりに、管理されたグローバル パッケージが Electron ユーザー データ ディレクトリにインストールされます。
userData/node22/npmGlobalDesktop が後でノード 24 に移動すると、次のような別のパッケージ ツリーが使用されます。 userData/node24/npmGlobal。ノード 22 用にインストールされたパッケージはディスク上に残りますが、新しいノード メジャー プレフィックスに再インストールされるまで、ノード 24 用にインストールされたものとして扱われません。
デスクトップの依存関係ステータスは、アクティブなデスクトップのみをチェックします。 userData/node<major>/npmGlobal 接頭語。そのプレフィックスの外にあるパッケージ ファイルは、依存関係管理によって無視されます。