Skip to content

Installa npm con fnm

npm (Node Package Manager) viene installato insieme a Node.js. Questa guida introduce come gestire npm tramite fnm.

Relazione tra npm e fnm

Quando installi Node.js usando fnm, npm viene automaticamente incluso:

bash
# Installa Node.js (include automaticamente npm)
fnm install 20

# Verifica versione npm
npm --version

Controlla Versione npm

bash
# Visualizza versione npm corrente
npm --version

# Visualizza versioni Node.js e npm
node --version
npm --version

Diverse versioni di Node.js corrispondono a diverse versioni di npm:

Node.jsnpm
20.x10.x
18.x9.x
16.x8.x

Aggiorna npm

Usando Auto-Aggiornamento npm

bash
# Aggiorna a ultima versione
npm install -g npm@latest

# Aggiorna a versione specifica
npm install -g npm@10.2.0

Cambia Versione Node.js

Cambiando versione Node.js cambia anche versione npm:

bash
# Cambia a Node.js 20
fnm use 20
npm --version  # Output: 10.x.x

# Cambia a Node.js 18
fnm use 18
npm --version  # Output: 9.x.x

Gestione Pacchetto Globale npm

Visualizza Percorso Installazione Globale

bash
npm config get prefix

Posizione Pacchetto Globale

I pacchetti globali Node.js gestiti da fnm si trovano in:

~/.fnm/node-versions/<version>/installation/lib/node_modules

Installa Pacchetti Globali

bash
# Installa pacchetti globali
npm install -g pnpm
npm install -g yarn
npm install -g typescript

# Visualizza pacchetti globali
npm list -g --depth=0

Usa Corepack

Corepack è un gestore di package manager per Node.js che può gestire npm, yarn e pnpm:

Abilita Corepack

bash
# Abilita Corepack durante installazione Node.js
fnm install 20 --corepack-enabled

# O imposta variabile ambiente
export FNM_COREPACK_ENABLED=true
fnm install 20

Usa Corepack

bash
# Abilita Corepack
corepack enable

# Usa versione specifica di yarn
corepack prepare yarn@stable --activate

# Usa versione specifica di pnpm
corepack prepare pnpm@latest --activate

Configurazione npm

Configura Mirror

bash
# Imposta mirror npm
npm config set registry https://registry.npmmirror.com

# Visualizza configurazione corrente
npm config list

# Ripristina mirror predefinito
npm config set registry https://registry.npmjs.org

Mirror Comuni

Sorgente MirrorURL
npm Ufficialehttps://registry.npmjs.org
npmmirrorhttps://registry.npmmirror.com
Tencent Cloudhttps://mirrors.cloud.tencent.com/npm/

Gestione Multi-Versione npm

Poiché npm viene installato con Node.js, il modo migliore per gestire più versioni npm è:

Metodo 1: Cambia Versione Node.js

bash
# Installa più versioni Node.js
fnm install 20
fnm install 18

# Cambia versioni
fnm use 20  # npm 10.x
fnm use 18  # npm 9.x

Metodo 2: Aggiorna npm Indipendentemente

bash
# Aggiorna npm nella versione Node.js corrente
npm install -g npm@latest

Problemi Comuni

Comando npm Non Trovato

bash
# Conferma Node.js installato
fnm list

# Conferma versione corrente in uso
fnm current

# Reinstalla Node.js
fnm install 20 --use

Installazione Pacchetto Globale Fallita

bash
# Pulisci cache npm
npm cache clean --force

# Controlla permessi
ls -la ~/.fnm/node-versions/

# Reinstalla
npm install -g <package>

Versione npm Non Corrisponde

bash
# Controlla versione Node.js
fnm current

# Ripristina versione predefinita npm
fnm uninstall <version>
fnm install <version>

Best Practice

1. Usa engines in package.json

Specifica versioni Node.js e npm nel progetto:

json
{
  "engines": {
    "node": ">=18.0.0",
    "npm": ">=9.0.0"
  }
}

2. Usa File .npmrc

Crea file .npmrc nel progetto:

registry=https://registry.npmmirror.com
save-exact=true

3. Blocca Package Manager

Usa campo packageManager:

json
{
  "packageManager": "npm@10.2.0"
}