From d660fea5e1615a7ce000a2be23b0353d4f5332a6 Mon Sep 17 00:00:00 2001 From: webbrain-one <295484252+webbrain-one@users.noreply.github.com> Date: Mon, 27 Jul 2026 17:34:58 +0300 Subject: [PATCH 1/2] docs: add Spanish README --- README.es-ES.md | 183 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 README.es-ES.md diff --git a/README.es-ES.md b/README.es-ES.md new file mode 100644 index 0000000..6fcdc13 --- /dev/null +++ b/README.es-ES.md @@ -0,0 +1,183 @@ +# nvmd-command + +English | [简体中文](./README.zh-CN.md) + +`nvmd-command` (nombre del binario: `nvmd`) es una CLI ligera para la gestión de versiones de Node.js construida con Rust. + +También es el entorno de ejecución de comandos utilizado por [nvm-desktop](https://github.com/1111mp/nvm-desktop): + +- Gestiona versiones de Node.js desde la terminal (`install`, `use`, `list`, `uninstall`, etc.) +- Enruta los comandos shim (`node`, `npm`, `npx`, `corepack`, ...) hacia la versión correcta de Node +- Soporta tanto la versión predeterminada global como la selección de versión a nivel de proyecto + +--- + +## Características + +- Ejecutable nativo único (Rust) +- Flujo de trabajo de instalación/cambio de múltiples versiones de Node.js +- Soporte para archivos de versión a nivel de proyecto (predeterminado: `.nvmdrc`) +- Consulta de la versión actual y rutas de instalación +- Ecosistema y disposición de datos compartidos con nvm-desktop + +--- + +## Compilar desde el código fuente + +> Se recomienda a los usuarios finales instalar `nvmd` desde la distribución de nvm-desktop. + +### 1) Prerrequisitos + +Instalar el toolchain de Rust (stable): + +### 2) Compilación + +```bash +# compilación de depuración (debug) +cargo build + +# compilación de lanzamiento (release) +cargo build --release +``` + +Binarios resultantes: + +- Linux / macOS: `target/release/nvmd` +- Windows: `target/release/nvmd.exe` + +--- + +## Inicio rápido + +```bash +# instalar una versión de Node.js +nvmd install 20.11.1 + +# establecer la versión predeterminada global +nvmd use 20.11.1 + +# mostrar la versión activa +nvmd current + +# listar versiones instaladas +nvmd ls +``` + +Versión a nivel de proyecto (escribe el archivo de versión en el directorio actual, predeterminado `.nvmdrc`): + +```bash +nvmd use 18.20.3 --project +``` + +--- + +## Referencia de comandos + +Usa `nvmd --help` para obtener ayuda completa. + +| Comando | Descripción | +|---|---| +| `nvmd current` | Mostrar la versión activa de Node.js | +| `nvmd install ` | Instalar una versión específica | +| `nvmd list` / `nvmd ls` | Listar versiones instaladas | +| `nvmd list --group` | Listar grupos de proyectos | +| `nvmd uninstall ` | Desinstalar una versión específica | +| `nvmd use ` | Establecer la versión predeterminada global | +| `nvmd use --project` | Establecer la versión para el proyecto actual | +| `nvmd which ` | Mostrar la ruta de instalación de una versión (Unix: `.../bin`) | + +> La entrada de versión soporta tanto `v20.11.1` como `20.11.1`. + +### Prioridad de resolución de versiones + +Al resolver qué versión de Node.js ejecutar, `nvmd` utiliza este orden (de mayor a menor prioridad): + +1. Variable de entorno `NVMD_NODE_VERSION` +2. Archivo de versión del proyecto (predeterminado: `.nvmdrc`, buscado desde el directorio actual hacia arriba en los directorios padres) +3. Archivo predeterminado global (`$NVMD_HOME/default`) + +`NVMD_NODE_VERSION` tiene la prioridad más alta y anula la configuración del proyecto/global para el entorno del proceso actual. + +--- + +## Cómo funciona (basado en shims) + +`nvmd-command` utiliza shims en lugar de hooks de shell: + +1. Ejecutas `node`, `npm` u otros comandos relacionados. +2. Un shim reenvía la solicitud a `nvmd`. +3. `nvmd` resuelve la versión desde el archivo de versión del proyecto (predeterminado `.nvmdrc`) o el predeterminado global (`$NVMD_HOME/default`). +4. `nvmd` inicia un proceso hijo con un `PATH` ajustado que apunta al directorio de Node objetivo. + +Esto mantiene el cambio de versiones rápido, fiable y agnóstico al shell utilizado. + +--- + +## Disposición de directorios y archivos de datos + +Raíz predeterminada: `$HOME/.nvmd` (se puede sobrescribir con `NVMD_HOME`). + +```text +$NVMD_HOME/ +├─ bin/ # shims y punto de entrada ejecutable +├─ versions/ # versiones de Node.js instaladas +├─ default # versión de Node predeterminada global +├─ setting.json # configuraciones +├─ projects.json # mapeo de proyecto a versión +├─ groups.json # información de grupos de proyectos +└─ packages.json # metadatos de shims de paquetes globales +``` + +--- + +## Configuración (`setting.json`) + +`$NVMD_HOME/setting.json` soporta: + +```json +{ + "directory": "/custom/path/to/versions", + "mirror": "https://nodejs.org/dist", + "node_version_file": ".nvmdrc" +} +``` + +- `directory`: Directorio de instalación de versiones de Node.js (predeterminado: `$NVMD_HOME/versions`) +- `mirror`: Mirror de descarga de Node.js (predeterminado: `https://nodejs.org/dist`) +- `node_version_file`: Nombre del archivo de versión del proyecto (predeterminado: `.nvmdrc`) + +--- + +## FAQ + +### `nvmd use ` dice "not installed" + +Instálala primero: + +```bash +nvmd install +``` + +### El cambio de proyecto no funciona + +Verifica que: + +- El directorio actual (o los directorios padres) contenga el archivo de versión (predeterminado `.nvmdrc`) +- La versión en el archivo esté instalada +- El `PATH` de tu shell priorice los shims en `$NVMD_HOME/bin` + +### Cambiar el mirror de descarga + +Actualiza `mirror` en `setting.json` y ejecuta `nvmd install ` nuevamente. + +--- + +## Integración con nvm-desktop + +`nvmd-command` trabaja estrechamente con [nvm-desktop](https://github.com/1111mp/nvm-desktop): + +- nvm-desktop proporciona flujos de trabajo GUI e integración del ecosistema +- nvmd-command proporciona el despacho de CLI/runtime de alto rendimiento + +Para detalles de empaquetado/integración: + From 3384c468fef4286a155619e901a848ec90871906 Mon Sep 17 00:00:00 2001 From: The1111mp Date: Tue, 28 Jul 2026 11:37:10 +0800 Subject: [PATCH 2/2] docs: add doc entry Signed-off-by: The1111mp --- README.es-ES.md | 2 +- README.md | 2 +- README.zh-CN.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.es-ES.md b/README.es-ES.md index 6fcdc13..fd0a5ca 100644 --- a/README.es-ES.md +++ b/README.es-ES.md @@ -1,6 +1,6 @@ # nvmd-command -English | [简体中文](./README.zh-CN.md) +Español | [English](./README.md) | [简体中文](./README.zh-CN.md) `nvmd-command` (nombre del binario: `nvmd`) es una CLI ligera para la gestión de versiones de Node.js construida con Rust. diff --git a/README.md b/README.md index 0dc1e2c..a1fb9f1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # nvmd-command -English | [简体中文](./README.zh-CN.md) +English | [简体中文](./README.zh-CN.md) | [Español](./README.es-ES.md) `nvmd-command` (binary name: `nvmd`) is a lightweight Node.js version management CLI built with Rust. diff --git a/README.zh-CN.md b/README.zh-CN.md index 320b0a0..601efd0 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,6 +1,6 @@ # nvmd-command -简体中文 | [English](./README.md) +简体中文 | [English](./README.md) | [Español](./README.es-ES.md) `nvmd-command`(可执行文件名:`nvmd`)是一个使用 Rust 构建的轻量级 Node.js 版本管理命令行工具。它同时也是 [nvm-desktop](https://github.com/1111mp/nvm-desktop) 的核心命令组件: