Gestione Versioni Node.js
fnm fornisce potenti funzionalità di gestione versioni, permettendoti di cambiare facilmente tra più versioni di Node.js.
Operazioni Base
Visualizza Versioni Installate
fnm listEsempio output:
* v20.10.0 default
v18.19.0
v16.20.2*indica la versione attualmente in usodefaultindica la versione predefinita
Visualizza Versione Corrente
fnm currentCambia Versione
# Cambia a versione specifica
fnm use 20
# Cambia a versione esatta specifica
fnm use 20.10.0
# Se versione non è installata, installa automaticamente poi cambia
fnm use 18 --install-if-missingVersione Predefinita
Imposta Versione Predefinita
fnm default 20La versione predefinita è:
- La versione usata quando si avvia una nuova sessione terminale
- La versione usata quando non c'è file versione
Visualizza Versione Predefinita
fnm defaultAlias Versione
Gli alias permettono di impostare nomi facili da ricordare per le versioni.
Crea Alias
# Imposta alias per versione
fnm alias 20 default
fnm alias 18 legacy
fnm alias 16 oldUsa Alias
# Cambia versione tramite alias
fnm use default
fnm use legacyElimina Alias
fnm unalias legacyCambio Automatico Versione
fnm può cambiare automaticamente le versioni di Node.js in base alla directory del progetto.
Abilita Cambio Automatico
Aggiungi --use-on-cd alla configurazione Shell:
eval "$(fnm env --use-on-cd)"Crea File Versione
Crea un file .node-version o .nvmrc nella directory radice del progetto:
# Usando .node-version (consigliato)
echo "20" > .node-version
# O usando .nvmrc (compatibile con nvm)
echo "v18.17.0" > .nvmrcFormato File Versione
.node-version supporta i seguenti formati:
20 # Versione principale, usa ultima 20.x.x
20.10 # Versione minor, usa ultima 20.10.x
20.10.0 # Versione esatta
lts/iron # Nome versione LTSStrategia Parsing File Versione
fnm supporta due strategie di parsing file versione:
# local (predefinito) - Cerca solo nella directory corrente
fnm env --version-file-strategy=local
# recursive - Cerca ricorsivamente nelle directory parent
fnm env --version-file-strategy=recursiveSupporto package.json engines
fnm può leggere il campo engines.node da package.json:
{
"engines": {
"node": ">=18.0.0"
}
}Abilitato per impostazione predefinita, può essere disabilitato tramite variabile ambiente:
export FNM_RESOLVE_ENGINES=falseBest Practice Gestione Versioni
1. Blocco Versione a Livello Progetto
Crea un file .node-version in ogni progetto:
cd my-project
echo "20" > .node-version
fnm install
fnm use2. Collaborazione Team
Aggiungi .node-version a Git:
git add .node-version
git commit -m "chore: add .node-version"3. Configurazione CI/CD
Usa fnm in ambienti CI/CD:
# GitHub Actions
- name: Installa fnm
run: curl -fsSL https://fnm.vercel.app/install | bash
- name: Installa Node.js
run: fnm install && fnm use4. Sviluppo Multi-Versione
# Installa più versioni
fnm install 20
fnm install 18
fnm install 16
# Imposta alias per cambio facile
fnm alias 20 current
fnm alias 18 legacy
fnm alias 16 old
# Usa versioni diverse in progetti diversi
cd project-new && fnm use current
cd project-old && fnm use legacyDisinstalla Versioni
# Disinstalla versione specifica
fnm uninstall 16.20.2
# Disinstalla tramite alias (elimina versione e tutti gli alias correlati)
fnm uninstall oldProblemi Comuni
Comando node Non Si Aggiorna Dopo Cambio Versione
Assicurati che la configurazione Shell sia corretta:
# Controlla percorso node
which node
# Dovrebbe puntare alla directory fnm
# ~/.fnm/node-versions/.../bin/nodeCambio Automatico Non Funziona
- Conferma che
--use-on-cdè aggiunto alla configurazione Shell - Conferma che il file versione esiste
- Ricarica configurazione Shell
Priorità File Versione
fnm cerca le versioni nel seguente ordine:
- Versione specificata sulla riga di comando
- File
.node-version - File
.nvmrc package.jsoncampoengines.node- Versione predefinita
Link Correlati
- Installa Node.js - Guida installazione
- Riferimento Comandi - Tutti dettagli comandi
- Gestione Download - Funzionalità download correlate