fnm
)Gestionnaire de versions Node.js rapide et simple, intégré à Rust
? Prise en charge multiplateforme (macOS, Windows, Linux)
Fichier unique, installation facile, démarrage instantané
Construit dans un souci de rapidité
Fonctionne avec les fichiers .node-version
et .nvmrc
Pour bash
, zsh
et fish
shells, il existe un script d'installation automatique.
Assurez-vous d’abord que curl
et unzip
sont déjà installés sur votre système d’exploitation. Exécutez ensuite :
curl -fsSL https://fnm.vercel.app/install | bash
Sur macOS, c'est aussi simple que brew upgrade fnm
.
Sur d'autres systèmes d'exploitation, la mise à niveau fnm
revient presque à l'installer. Pour éviter la duplication dans votre fichier de configuration shell, ajoutez --skip-shell
à la commande d'installation.
--install-dir
Définissez un répertoire personnalisé pour que fnm soit installé. La valeur par défaut est $XDG_DATA_HOME/fnm
(si $XDG_DATA_HOME
n'est pas défini, il revient à $HOME/.local/share/fnm
sous Linux et $HOME/Library/Application Support/fnm
sous MacOS).
--skip-shell
Ignorez l'ajout du chargeur spécifique au shell au fichier de configuration du shell, basé sur le shell de l'utilisateur actuel, défini dans $SHELL
. par exemple pour Bash, $HOME/.bashrc
. $HOME/.zshrc
pour Zsh. Pour Fish - $HOME/.config/fish/conf.d/fnm.fish
--force-install
Les installations macOS utilisant le script d'installation sont obsolètes au profit de la formule Homebrew, mais cela oblige quand même le script à s'installer en l'utilisant.
Exemple:
curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir " ./.fnm " --skip-shell
brew install fnm
Ensuite, configurez votre shell pour fnm
winget install Schniz.fnm
scoop install fnm
Ensuite, configurez votre shell pour fnm
choco install fnm
Ensuite, configurez votre shell pour fnm
cargo install fnm
Ensuite, configurez votre shell pour fnm
PATH
Pour supprimer fnm (?), supprimez simplement le dossier .fnm
de votre répertoire personnel. Vous devez également modifier la configuration de votre shell pour supprimer toute référence à fnm (c'est-à-dire lire Shell Setup et faire le contraire).
fnm livre ses complétions avec le binaire :
fnm completions --shell < SHELL >
Où <SHELL>
peut être l'un des shells pris en charge :
bash
zsh
fish
powershell
Veuillez suivre les instructions de votre shell pour les installer.
Les variables d'environnement doivent être configurées avant de pouvoir commencer à utiliser fnm. Cela se fait en évaluant la sortie de fnm env
.
Note
Consultez la section Configuration pour activer les fonctionnalités hautement recommandées, comme le changement automatique de version.
Ajouter une .node-version
à votre projet est aussi simple que :
$ node --version
v14.18.3
$ node --version > .node-version
Consultez les guides suivants pour le shell que vous utilisez :
Ajoutez les éléments suivants à votre profil .bashrc
:
eval " $( fnm env --use-on-cd --shell bash ) "
Ajoutez ce qui suit à votre profil .zshrc
:
eval " $( fnm env --use-on-cd --shell zsh ) "
Créez ~/.config/fish/conf.d/fnm.fish
et ajoutez-y cette ligne :
fnm env --use-on-cd --shell fish | source
Ajoutez ce qui suit à la fin de votre fichier de profil :
fnm env -- use-on - cd -- shell powershell | Out-String | Invoke-Expression
~/.config/powershell/Microsoft.PowerShell_profile.ps1
notepad $profile
fnm est également pris en charge mais n'est pas entièrement couvert. Vous pouvez configurer un script de démarrage pour cmd.exe ou Windows Terminal et ajouter les lignes suivantes :
@ 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
)
L'utilisation est très similaire à l'installation normale de WinCMD, à l'exception de quelques ajustements permettant d'être appelé à partir du script de démarrage cmder. L'exemple suppose que la variable d'environnement CMDER_ROOT
est définie sur le répertoire racine de votre installation Cmder. Ensuite, vous pouvez faire quelque chose comme ceci :
:: %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 "
Vous pouvez également remplacer %CMDER_ROOT%
par tout autre chemin pratique.
Consultez les options de configuration disponibles pour une documentation de configuration étendue
Voir les commandes disponibles pour une documentation d'utilisation étendue
Les PR sont les bienvenus ?
# Install Rust
git clone https://github.com/Schniz/fnm.git
cd fnm/
cargo build
cargo run -- --help # Will behave like `fnm --help`
cargo test