fnm
)Gestor de versiones de Node.js rápido y sencillo, integrado en Rust
? Soporte multiplataforma (macOS, Windows, Linux)
Archivo único, fácil instalación, inicio instantáneo
Construido pensando en la velocidad
Funciona con archivos .node-version
y .nvmrc
Para bash
, zsh
y fish
shells, hay un script de instalación automática.
Primero asegúrese de que curl
y unzip
ya estén instalados en su sistema operativo. Luego ejecuta:
curl -fsSL https://fnm.vercel.app/install | bash
En macOS, es tan simple como brew upgrade fnm
.
En otros sistemas operativos, actualizar fnm
es casi lo mismo que instalarlo. Para evitar la duplicación en su archivo de configuración de shell, agregue --skip-shell
al comando de instalación.
--install-dir
Establezca un directorio personalizado para instalar fnm. El valor predeterminado es $XDG_DATA_HOME/fnm
(si $XDG_DATA_HOME
no está definido, recurre a $HOME/.local/share/fnm
en Linux y $HOME/Library/Application Support/fnm
en MacOS).
--skip-shell
Omita agregar el cargador específico del shell al archivo de configuración del shell, según el shell del usuario actual, definido en $SHELL
. por ejemplo, para Bash, $HOME/.bashrc
. $HOME/.zshrc
para Zsh. Para peces: $HOME/.config/fish/conf.d/fnm.fish
--force-install
Las instalaciones de macOS que utilizan el script de instalación están en desuso en favor de la fórmula Homebrew, pero esto obliga al script a instalarse usándolo de todos modos.
Ejemplo:
curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir " ./.fnm " --skip-shell
brew install fnm
Luego, configura tu shell para fnm
winget install Schniz.fnm
scoop install fnm
Luego, configura tu shell para fnm
choco install fnm
Luego, configura tu shell para fnm
cargo install fnm
Luego, configura tu shell para fnm
PATH
Para eliminar fnm (?), simplemente elimine la carpeta .fnm
en su directorio de inicio. También debe editar la configuración de su Shell para eliminar cualquier referencia a fnm (es decir, leer Configuración de Shell y hacer lo contrario).
fnm envía sus completaciones con el binario:
fnm completions --shell < SHELL >
Donde <SHELL>
puede ser uno de los shells admitidos:
bash
zsh
fish
powershell
Siga las instrucciones de su shell para instalarlos.
Es necesario configurar las variables de entorno antes de poder comenzar a usar fnm. Esto se hace evaluando la salida de fnm env
.
Nota
Consulte la sección Configuración para habilitar funciones altamente recomendadas, como el cambio automático de versión.
Agregar una .node-version
a su proyecto es tan simple como:
$ node --version
v14.18.3
$ node --version > .node-version
Consulte las siguientes guías para el shell que utiliza:
Agregue lo siguiente a su perfil .bashrc
:
eval " $( fnm env --use-on-cd --shell bash ) "
Agregue lo siguiente a su perfil .zshrc
:
eval " $( fnm env --use-on-cd --shell zsh ) "
Cree ~/.config/fish/conf.d/fnm.fish
y agréguele esta línea:
fnm env --use-on-cd --shell fish | source
Agregue lo siguiente al final de su archivo de perfil:
fnm env -- use-on - cd -- shell powershell | Out-String | Invoke-Expression
~/.config/powershell/Microsoft.PowerShell_profile.ps1
notepad $profile
fnm también es compatible pero no está completamente cubierto. Puede configurar una secuencia de comandos de inicio para cmd.exe o Windows Terminal y agregar las siguientes líneas:
@ echo off
:: for /F will launch a new instance of cmd so we create a guard to prevent an infnite loop
if not defined FNM_AUTORUN_GUARD (
set " FNM_AUTORUN_GUARD = AutorunGuard "
FOR /f " tokens=* " %%z IN ('fnm env --use-on-cd') DO CALL %%z
)
El uso es muy similar a la instalación normal de WinCMD, excepto por algunos ajustes para permitir que se le llame desde el script de inicio de cmder. El ejemplo supone que la variable de entorno CMDER_ROOT
está configurada en el directorio raíz de su instalación de Cmder. Entonces puedes hacer algo como esto:
:: %CMDER_ROOT%binfnm_init.cmd
@ echo off
FOR /f " tokens=* " %%z IN ('fnm env --use-on-cd') DO CALL %%z
:: %CMDER_ROOT%configuser_profile.cmd
call " %CMDER_ROOT% binfnm_init.cmd "
También puedes reemplazar %CMDER_ROOT%
con cualquier otra ruta conveniente.
Consulte las opciones de configuración disponibles para obtener una documentación de configuración ampliada.
Consulte los comandos disponibles para obtener documentación de uso ampliada.
¿Las relaciones públicas son bienvenidas?
# Install Rust
git clone https://github.com/Schniz/fnm.git
cd fnm/
cargo build
cargo run -- --help # Will behave like `fnm --help`
cargo test