Entorno de nodo de escritorio
Edita esta páginaHagiCode Desktop se envía con una cadena de herramientas Node administrada por Desktop. No se hace cargo de la instalación global de Node en su computadora. Su propósito es brindar al inicio del escritorio y a los flujos relacionados con el tiempo de ejecución una base de tiempo de ejecución estable y verificable.
Lea estas preguntas frecuentes si ve portable-fixed/toolchain en el diagnóstico, es necesario saber qué node Desktop está utilizando, o se pregunta por qué la versión de Nodo de su sistema no define directamente el comportamiento del tiempo de ejecución de Desktop.
Por qué Desktop incluye Node
Sección titulada «Por qué Desktop incluye Node»El escritorio debe ejecutar los mismos flujos de soporte en todos los sistemas operativos, canales de instalación y entornos de usuario. Si dependiera únicamente de la instalación de Node existente del usuario, el soporte tendría que manejar versiones obsoletas, npm faltantes, ordenamiento de rutas incorrecto, paquetes globales contaminados y políticas de registro específicas de la organización, todo a la vez.
Desktop describe esto más específicamente como un tiempo de ejecución de Nodo/npm aislado para CLI administradas en lugar de reutilizar el entorno de todo el sistema. Este diseño tiene estos principales beneficios:
- Versiones coherentes: el escritorio utiliza un contrato de tiempo de ejecución del Nodo 22 anclado en lugar de adivinar la versión principal local del usuario.
- Flujos de inicio controlados: los comandos administrados por escritorio pueden preferir el paquete
nodeynpmentradas. - Límites de configuración claros: la configuración relacionada con la CLI se mantiene separada de la configuración global de todo el host, por lo que es menos probable que las actualizaciones, la conmutación y la recuperación se vean interrumpidas por diferencias en el entorno del sistema.
- Conflictos reducidos: las rutas empaquetadas se aplican a entornos de comando creados por Desktop y no reemplazan el Nodo global del usuario en su terminal.
- Comportamiento del host no intrusivo: este aislamiento evita escribir el estado de la cadena de herramientas en el entorno Node/npm existente del usuario, y la desinstalación de Desktop no altera el Node, npm o la configuración ya presente en la máquina.
Cómo selecciona Desktop la ruta del nodo
Sección titulada «Cómo selecciona Desktop la ruta del nodo»Cuando ejecuta Desktop normalmente, Desktop prefiere la cadena de herramientas de Node instalada con la aplicación en lugar de leer primero la instalación de Node desde su sistema. Esto mantiene la versión de Node en su terminal separada de la versión de Node que el escritorio espera mientras se ejecuta.
Cuando la cadena de herramientas incluida está habilitada, los entornos de comando creados por Desktop colocan las rutas de la cadena de herramientas incluida al frente de PATH. Como resultado, incluso si su sistema tiene instalada otra versión de Node, los flujos administrados por Desktop se resuelven primero en Node y npm incluidos en Desktop.
Esto sólo afecta a los entornos de ejecución creados por Desktop. si corres node, npmu otros comandos directamente en la terminal de su sistema, continúan usando el entorno normal del sistema y la configuración del shell.
En entornos de diagnóstico o de procesos secundarios iniciados por Desktop, es posible que vea una variable como esta:
HAGICODE_PORTABLE_TOOLCHAIN_ROOT=/path/to/portable-fixed/toolchainEsta variable significa que el entorno de ejecución administrado por escritorio reconoció la raíz de la cadena de herramientas incluida. Ver esta ruta no significa que Desktop haya cambiado el Nodo de su sistema; solo significa que Desktop está utilizando el entorno Node incluido con la aplicación dentro de su propio alcance de tiempo de ejecución.
Dónde Desktop instala paquetes npm administrados
Sección titulada «Dónde Desktop instala paquetes npm administrados»Desktop mantiene los archivos en tiempo de ejecución y los archivos de paquetes npm mutables en diferentes ubicaciones. La ruta de la cadena de herramientas incluida, como portable-fixed/toolchain/node es la fuente inmutable para el sistema administrado por escritorio node y npm comandos. En su lugar, los paquetes globales administrados se instalan en el directorio de datos de usuario de Electron:
userData/node22/npmGlobalSi Desktop luego se traslada al Nodo 24, utiliza un árbol de paquetes separado, como userData/node24/npmGlobal. Los paquetes instalados para el Nodo 22 permanecen en el disco, pero no se consideran instalados para el Nodo 24 hasta que se reinstalan en el nuevo prefijo del Nodo principal.
El estado de dependencia del escritorio solo verifica el activo userData/node<major>/npmGlobal prefijo. La gestión de dependencias ignora los archivos de paquetes fuera de ese prefijo.