Sobre el proyecto
`n` es un gestor de versiones de Node.js ligero, basado en BASH, diseñado para la simplicidad. Permite a los usuarios descargar, instalar y cambiar entre múltiples versiones de Node.js de forma interactiva o mediante argumentos de línea de comandos, sin requerir subshells, modificaciones de perfil ni APIs complejas.
## Plataformas compatibles
`n` funciona en macOS, Linux (incluido el Subsistema de Windows para Linux) y otros sistemas tipo Unix. No funciona en shells nativos de Windows (por ejemplo, PowerShell), Git para Windows BASH ni con la DLL de Cygwin.
## Instalación
Si Node.js ya está instalado, la forma más fácil de instalar `n` es mediante npm:
```bash
npm install -g n
```
Por defecto, `n` se instala en `/usr/local`, lo que puede requerir permisos adecuados. Las opciones incluyen cambiar la propiedad del directorio, usar una ubicación personalizada `N_PREFIX` o ejecutar con `sudo`.
Para el arranque sin npm, puedes descargar y ejecutar `n` directamente:
```bash
curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s install lts
```
Hay instaladores de terceros disponibles para macOS mediante Homebrew (`brew install n`) y MacPorts (`port install n`), y para Linux/macOS mediante `n-install`.
## Características clave
- **Selección interactiva**: Ejecuta `n` solo para ver las versiones descargadas y seleccionar una con las teclas de flecha.
- **Especificación de versión**: Admite números de versión completos o parciales (por ejemplo, `4.9.1`, `8`, `v6.1`), etiquetas como `lts`, `latest`, `current` y nombres en clave (`argon`, `boron`, `carbon`).
- **Detección automática de versión**: Lee `.n-node-version`, `.node-version`, `.nvmrc` o el campo `engines` en `package.json`.
- **Gestión de caché**: Las descargas se almacenan en caché para reinstalaciones sin conexión; `n ls` lista las versiones en caché, `n rm` elimina versiones específicas, `n prune` limpia todo excepto la activa.
- **Ejecución directa**: `n run <versión> <script>` ejecuta un script con una versión específica de Node.js; `n exec <versión> <comando>` ejecuta un comando con el `PATH` de esa versión; `n which <versión>` muestra la ruta del binario.
- **Preservar npm**: Usa `--preserve` o `N_PRESERVE_NPM`/`N_PRESERVE_COREPACK` para mantener las versiones actuales de npm/corepack.
- **Espejos personalizados**: Configura `N_NODE_MIRROR` o `N_NODE_DOWNLOAD_MIRROR` para fuentes de descarga alternativas (por ejemplo, espejo de China o compilaciones no oficiales).
- **Anulación de arquitectura**: Usa `--arch` o `N_ARCH` para seleccionar binarios específicos (por ejemplo, `x64-musl` para Alpine).
- **Variables de entorno**: `N_PREFIX` cambia la ubicación de instalación; `N_CACHE_PREFIX` cambia la ubicación de caché; `NO_COLOR`/`CLICOLOR=0` controlan los colores ANSI.
- **Diagnóstico**: `n doctor` ayuda a solucionar problemas.
## Ejemplos de uso
```bash
n 10.16.0 # Instalar una versión específica
n lts # Instalar la última LTS
n ls-remote lts # Listar versiones remotas coincidentes
n ls # Listar versiones en caché
n rm 0.9.4 # Eliminar una versión en caché
n uninstall # Eliminar Node.js activo (conservar caché)
n run 8.11.3 --debug some.js
n exec 10 my-script --fast test
n --offline 12 # Usar versión en caché sin internet
```
## Cómo funciona
`n` descarga los tarballs de Node.js en una carpeta de caché (por defecto: `N_PREFIX/n/versions`) e instala la versión activa en los subdirectorios `bin`, `include`, `lib` y `share`. No modifica los paquetes npm globales a menos que se use `--preserve`. La herramienta está diseñada para ser mínima y transparente, lo que la convierte en una opción popular para desarrolladores que prefieren un gestor de versiones sencillo.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.