Gestion de Version Node.js
fnm fournit des fonctionnalités puissantes de gestion de version, vous permettant de basculer facilement entre plusieurs versions de Node.js.
Opérations de Base
Afficher les Versions Installées
fnm listExemple de sortie:
* v20.10.0 default
v18.19.0
v16.20.2*indique la version actuellement utiliséedefaultindique la version par défaut
Afficher la Version Actuelle
fnm currentChanger de Version
# Changer vers une version spécifique
fnm use 20
# Changer vers une version exacte spécifique
fnm use 20.10.0
# Si la version n'est pas installée, installer automatiquement puis changer
fnm use 18 --install-if-missingVersion Par Défaut
Définir la Version Par Défaut
fnm default 20La version par défaut est:
- La version utilisée lors du démarrage d'une nouvelle session de terminal
- La version utilisée lorsqu'il n'y a pas de fichier de version
Afficher la Version Par Défaut
fnm defaultAlias de Version
Les alias vous permettent de définir des noms faciles à retenir pour les versions.
Créer un Alias
# Définir un alias pour une version
fnm alias 20 default
fnm alias 18 legacy
fnm alias 16 oldUtiliser un Alias
# Changer de version via un alias
fnm use default
fnm use legacySupprimer un Alias
fnm unalias legacyChangement Automatique de Version
fnm peut automatiquement changer les versions de Node.js en fonction du répertoire du projet.
Activer le Changement Automatique
Ajoutez --use-on-cd à la configuration du Shell:
eval "$(fnm env --use-on-cd)"Créer un Fichier de Version
Créez un fichier .node-version ou .nvmrc dans la racine du projet:
# Utiliser .node-version (recommandé)
echo "20" > .node-version
# Ou utiliser .nvmrc (compatible avec nvm)
echo "v18.17.0" > .nvmrcFormat du Fichier de Version
.node-version prend en charge les formats suivants:
20 # Version majeure, utiliser la dernière 20.x.x
20.10 # Version mineure, utiliser la dernière 20.10.x
20.10.0 # Version exacte
lts/iron # Nom de la version LTSStratégie d'Analyse des Fichiers de Version
fnm prend en charge deux stratégies d'analyse des fichiers de version:
# local (défaut) - Rechercher uniquement dans le répertoire actuel
fnm env --version-file-strategy=local
# recursive - Rechercher récursivement dans les répertoires parents
fnm env --version-file-strategy=recursiveSupport de package.json engines
fnm peut lire le champ engines.node depuis package.json:
{
"engines": {
"node": ">=18.0.0"
}
}Activé par défaut, peut être désactivé via une variable d'environnement:
export FNM_RESOLVE_ENGINES=falseMeilleures Pratiques de Gestion de Version
1. Verrouillage de Version au Niveau du Projet
Créez un fichier .node-version dans chaque projet:
cd my-project
echo "20" > .node-version
fnm install
fnm use2. Collaboration en Équipe
Ajoutez .node-version à Git:
git add .node-version
git commit -m "chore: add .node-version"3. Configuration CI/CD
Utilisez fnm dans les environnements CI/CD:
# GitHub Actions
- name: Installer fnm
run: curl -fsSL https://fnm.vercel.app/install | bash
- name: Installer Node.js
run: fnm install && fnm use4. Développement Multi-Versions
# Installer plusieurs versions
fnm install 20
fnm install 18
fnm install 16
# Définir des alias pour un changement facile
fnm alias 20 current
fnm alias 18 legacy
fnm alias 16 old
# Utiliser différentes versions dans différents projets
cd project-new && fnm use current
cd project-old && fnm use legacyDésinstaller des Versions
# Désinstaller une version spécifique
fnm uninstall 16.20.2
# Désinstaller via un alias (supprimera la version et tous les alias associés)
fnm uninstall oldProblèmes Courants
La Commande node Ne Se Met Pas à Jour Après le Changement de Version
Assurez-vous que la configuration du Shell est correcte:
# Vérifier le chemin node
which node
# Doit pointer vers le répertoire fnm
# ~/.fnm/node-versions/.../bin/nodeLe Changement Automatique Ne Fonctionne Pas
- Confirmer que
--use-on-cdest ajouté à la configuration du Shell - Confirmer que le fichier de version existe
- Recharger la configuration du Shell
Priorité des Fichiers de Version
fnm recherche les versions dans l'ordre suivant:
- Version spécifiée en ligne de commande
- Fichier
.node-version - Fichier
.nvmrc engines.nodedanspackage.json- Version par défaut
Liens Connexes
- Installer Node.js - Guide d'installation
- Référence des Commandes - Tous les détails des commandes
- Gestion des Téléchargements - Fonctionnalités liées aux téléchargements